Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-04-2004, 11:38   #1 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
script kürzen

hi leude.lerne grade as und habe mir grade mal ein scriptgeschrieben.


ActionScript:
  1. mc2._x=230
  2. mc2._y=260
  3.  
  4. mc1.onPress = function() {
  5.     mc2.onEnterFrame = function() {
  6.         this._y-=8;
  7.         if (this._y<=90){
  8.         delete this.onEnterFrame;
  9.     }
  10. }
  11. }


wie kann ich diese "formel"/"bewegung"
1. smoother machen (bewegung)
2. kürzen ? (formel)
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 07-04-2004, 11:44   #2 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Fein ... viel kürzer geht's aber nicht. Wenn du das für mehrere Instanzen machen willst kann man's dann für diese zusammenfassen, so dass du das nicht für alle wiederholen mußt.
Aber für _einen_ würde es fast länger werden.

Schön smooth wirds z.B. durch Abbremsen
ActionScript:
  1. mc1.onPress = function() {
  2.         mc2.onEnterFrame = function() {
  3.                 this._y+=(90-this._y)/5; // <--
  4.                 if (this._y<=91){
  5.                         delete this.onEnterFrame;
  6.                 }
  7.         }
  8. }
Gruß
Rena
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 07-04-2004, 11:47   #3 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
jipppiii danke

wegen dem kürzen :


ich habe noch 2 weitere instanzen.... also was tun?



edit: kann ich das ; nach der 5 auch weglassen?
__________________
!!! www.verblitzt.de !!!

Geändert von Son!c (07-04-2004 um 11:49 Uhr)
_Max_ ist offline   Mit Zitat antworten
Alt 07-04-2004, 12:12   #4 (permalink)
Trace it Baby
 
Benutzerbild von maddy
 
Registriert seit: Dec 2001
Beiträge: 416
AS nimmt das mit ";" nicht so genau. Setzt Du kein Semikolon versucht der Interpreter das Ende des Codes selber festzustellen und setzt das Semikolon dann selber. Weglassen kannst Du es, aber es gehört eins dorthin.
maddy ist offline   Mit Zitat antworten
Alt 07-04-2004, 12:14   #5 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
okilidokili

jetzt intressiert mich nur noch,wie ich den script kürzen kann,wenn ich noch 2 andre mc's dabei habe
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 07-04-2004, 12:19   #6 (permalink)
Trainman
 
Benutzerbild von Hamster2k
 
Registriert seit: Sep 2001
Ort: Wien, Österreich
Beiträge: 1.324
Hast du zwei weitere Instanzen auf die das onPress gehört, oder sollen neben mc2 noch zwei weitere bei Klick auf mc1 bewegt werden?

MfG
__________________
So much to learn and so little time.

Ich liebe dieses Forum!!
Hamster2k ist offline   Mit Zitat antworten
Alt 07-04-2004, 12:24   #7 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
also...

ich habe noch 2 weitere "schaltflächen"
und noch 2 weitere mc's,die sich bewegen.

sprich:


wenn ich mc1 drücke soll sich der eine mc ( wie im obigen script normal bewegen) wenn ich jetzt dann aber mc2 drücke,soll sich der erste mc wieder weg bewegen und ein andrer mc wieder an die stelle wo der andre mc war hinfahren das kann ich ja,is kein prob,aber wie kann ich sowas kürzen ?
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 07-04-2004, 13:46   #8 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
habe da jetzt mal was gemacht,aber das geht nicht.




ActionScript:
  1. mc2._x = 325;
  2. mc2._y = 364;
  3. mc4._x = 325;
  4. mc4._y = 363;
  5. mc1.onPress = function() {
  6.     mc2.onEnterFrame = function() {
  7.         this._y += (90-this._y)/3;
  8.         if (this._y == 91) {
  9.             delete this.onEnterFrame;
  10.         }
  11.     };
  12. };
  13. mc3.onPress = function() {
  14.     mc4.onEnterFrame = function() {
  15.         this._y += (90-this._y)/3;
  16.         if (this._y == 91) {
  17.             delete this.onEnterFrame;
  18.         }
  19.     }
  20.     mc2.onEnterFrame = function () {
  21.         this._y-=8
  22.         if (this._y=364) {
  23.             delete this.onEnterFrame;
  24.         }
  25.     }
  26.        
  27.        
  28. }
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 07-04-2004, 16:37   #9 (permalink)
wissbegierig
 
Registriert seit: Nov 2003
Ort: Hamburg
Beiträge: 206
Hi,

erstell dir doch einen Prototypen:

ActionScript:
  1. MovieClip.prototype.meinProto = function(){
  2. this.onPress = function() {
  3.         this.onEnterFrame = function() {
  4.                 this._y += (90-this._y)/3;
  5.                 if (this._y == 91) {
  6.                         delete this.onEnterFrame;
  7.                 }
  8.         }
  9. }

Und diese Funktion kannst Du jetzt jedem MovieClip Deiner Wahl zuweisen und zwar so:

ActionScript:
  1. mc1.meinProto;
  2. mc2.meinProto;
  3. // usw..
  4.  

Hoffe es hilft Dir weiter.....
__________________
Gruß
PIXIX
PIXIX ist offline   Mit Zitat antworten
Alt 07-04-2004, 16:38   #10 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
vielleicht erklärst du das noch ein bisschen besser?
bin noch as-noob
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 07-04-2004, 17:19   #11 (permalink)
wissbegierig
 
Registriert seit: Nov 2003
Ort: Hamburg
Beiträge: 206
Erstmal die Frage ob es funktioniert!??

Im erklären war ich noch nie gut

Guck Dir mal diese Links zu diesem Thema an:
prototype/__proto__ tutorial

Es ist einfach so, dass Du in einem Prototypen verschiedene Aktionen definieren kannst...wie z.B. onPress, onRelease, onEnterFrame usw. und diese verschiedenen Aktionen mit dem Prototypen kannst Du jedem MC deiner Wahl zuweisen.

Du kannst auch noch Parameter mitgeben:

ActionScript:
  1. MovieClip.prototype.meinProto = function(xpos,ypos){
  2. this.onLoad = function(){
  3. this._y = ypos;
  4. this._x = xpos;
  5. }
  6. }
  7. this.onEnterFrame = function(){
  8. this._x += 10;
  9. }
  10. this.onPress = function(){
  11. trace("hallo")
  12. }

Wenn Du den prototypen dann Deinen MC zuweist:
ActionScript:
  1. meinMC.meinProto;
Erhält "meinMC" Die kompletten Eigenschaften und Funktionen die Du im prototypen angegeben hast. so als ob du dieses auf deinen MovieClip legst:

ActionScript:
  1. onClipEvent(load){
  2. this._y = ypos;
  3. this._x = xpos;
  4. }
  5. onClipEvent(enterFrame){
  6. this._x += 10;
  7. }
  8. onClipEvent(release){
  9. trace("hallo")
  10. }

Ich hoffe das ist ein bißchen Verständlich
__________________
Gruß
PIXIX
PIXIX ist offline   Mit Zitat antworten
Alt 07-04-2004, 17:36   #12 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
also:


ActionScript:
  1. meinMc.meinProto;
kommt dann auf meinen mc?

und
ActionScript:
  1. MovieClip.prototype.meinProto = function(xpos,ypos){
  2.         this.onLoad = function(){
  3.                 this._y = ypos;
  4.                 this._x = xpos;
  5.         }
  6. }
  7. this.onEnterFrame = function(){
  8.         this._x += 10;
  9. }
  10. this.onPress = function(){
  11.         trace("hallo")
  12. }

kommt in den ersten frame?
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 07-04-2004, 17:45   #13 (permalink)
wissbegierig
 
Registriert seit: Nov 2003
Ort: Hamburg
Beiträge: 206
Das kannst Du alles ins Frame-Script packen.
Erst function, dann Zuweisung und ggf. stop();
__________________
Gruß
PIXIX
PIXIX ist offline   Mit Zitat antworten
Alt 07-04-2004, 17:57   #14 (permalink)
wissbegierig
 
Registriert seit: Nov 2003
Ort: Hamburg
Beiträge: 206
Wenn Du das noch nicht ganz verstanden hast, poste einfach nochmal, dann könnte ich Dir auch zur Not ein kleines Beispiel machen.
__________________
Gruß
PIXIX
PIXIX ist offline   Mit Zitat antworten
Alt 07-04-2004, 17:58   #15 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
jetzt verstehe ich erst
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele