Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-02-2005, 09:00   #1 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
Question Mausverfolger / Augenbewegung / SWF Export

hallo,

dieses "augenbewegscript" bewegt dem mc auf dem es liegt in richtung der maus bis zu einem bestimmten x und y bereich.

der code funktioniert testhalber auf _root anstandslos. kopiere ich dann den selben code in meine andere *.fla auf einen mc funktioniert es dort überhaupt nicht: der mc ("auge") scheint von links und oben vor meiner maus zu flüchten, von rechts und unten reagiert er mal gar nicht nicht.

ActionScript:
  1. onClipEvent(load) {
  2.     auge = this; //trace(auge);
  3.     augenmax = 30;
  4.     augestartx = auge._x;
  5.     augestarty = auge._y;
  6.     maxx = augenmax + augestartx;
  7.     minx = augestartx - augenmax;
  8.     maxy = augenmax + augestarty;
  9.     miny = augestarty - augenmax;
  10.    
  11.     gesamtb = stage.width;
  12. }
  13.  
  14. onClipEvent(enterFrame) {
  15.    
  16.     function foo(ziel,clip) {
  17.             weich = 15; // smoothness
  18.             erg = (ziel - clip) / weich;           
  19.             return erg;   
  20.             }   
  21.    
  22.     if(_root._xmouse >= augestartx) {
  23.    
  24.                 if(auge._x <= maxx) {
  25.                         auge._x += foo(_root._xmouse,auge._x);
  26.                 }
  27.                
  28.             }else {
  29.                     if(auge._x >= minx) {
  30.                     auge._x -= ((-1)*(foo(_root._xmouse,auge._x)));
  31.                     }
  32.             //}
  33.     }   
  34.            
  35.     if(_root._ymouse >= augestarty) {
  36.        
  37.                 if(auge._y <= maxy) {
  38.                         auge._y += foo(_root._ymouse,auge._y);
  39.                 }
  40.                
  41.     } else {
  42.                         if(auge._y >= miny) {
  43.                         auge._y -= ((-1)*(foo(_root._ymouse,auge._y)));
  44.                         }      
  45.                 //}  
  46.     }
  47.         //augestartx = auge._x;
  48.         //augestarty = auge._y;
  49.        
  50.         updateAfterEvent();
  51.     }

will ich nun den gesamten movieclip als swf exportieren (flashplayer 7 / AS 1.0) scheint _KEIN EINZIGES SCRIPT_ mehr zu funktionieren.
EDIT//// als exe scheint es zu klappen. gibt es besondere befehle die in einer swf nicht funktionieren?

sowas ist mir bisher noch nicht passiert. was könnten mögliche ursachen dafür sein und wie kann ich das augenbewegscript reparieren?
__________________
x 600.6
y 123.3

Geändert von dante (18-02-2005 um 09:12 Uhr)
dante ist offline   Mit Zitat antworten
Alt 18-02-2005, 10:40   #2 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
in ordnung, der fehler in der mausverfolgung konnte ich finden und hab ihn behoben:

ActionScript:
  1. onClipEvent(load) {
  2.     gesamtb = Stage.width;
  3.     gesamth = Stage.height;
  4.     gb = gesamtb;
  5.     gh = gesamth;
  6.     gbt = gb / 100;
  7.     aa = (gbt * 50);
  8.     ght = gh / 100;
  9.     aah = (ght * 50);
  10.    
  11.     auge = this; //trace(auge);
  12.     augenmax = 5;
  13.     augestartx = auge._x;
  14.     augestarty = auge._y;
  15.     maxx = augenmax + augestartx;
  16.     minx = augestartx - augenmax;
  17.     maxy = augenmax + augestarty;
  18.     miny = augestarty - augenmax;
  19.    
  20.     warten = false;
  21.    
  22.     function foo(ziel,clip) {
  23.         weich = 5; // smoothness
  24.         erg = (ziel - clip) / weich;           
  25.         return erg;   
  26.         }
  27.        
  28.         function maus() {
  29.         mcx = _global.tl._xmouse;
  30.         mcy = _global.tl._ymouse;
  31.         //trace("maus"+mcx +" "+ gbt + "="+pos );
  32.         posx = mcx;
  33.         posy = mcy;
  34.         //trace("gbt: "+gbt+" pos: "+pos +" aa: "+aa+" mcx: "+mcx);
  35.         if(posx > aa) {
  36.                 //rechts wenn er noch nach rechts kann
  37.                 if(auge._x < maxx) auge._x += foo(maxx,auge._x);
  38.             } else {
  39.                 //links wenn er noch nach links kann
  40.                 if(auge._x > minx) auge._x -= ((-1)*(foo(minx,auge._x)));
  41.                 }
  42.                
  43.         if(posy > aah) {
  44.                 if(auge._y < maxy) auge._y += foo(maxy,auge._x);
  45.             } else {
  46.                 if(auge._y > miny) auge._y -= ((-1)*(foo(miny,auge._y)));
  47.                 }
  48.        
  49.         }
  50.    
  51.     function augenstop() {
  52.         warten = true;
  53.     }
  54.    
  55.     function augengo() {
  56.        
  57.     }
  58.  
  59. }
  60.  
  61.  
  62.  
  63. onClipEvent(enterFrame) {
  64.     if(warten) {
  65.         // posi auge vom jetzigem stand zum normalen stand
  66.        
  67.         } else {
  68.             // führe mausverfolgung durch
  69.             maus();
  70.             }
  71.            
  72.     updateAfterEvent();
  73.     }


was mich jetzt aber noch fuchsig macht, ist dass die scripte in nem erstelltem swf nicht funktionieren. in der vorschau von flash passt alles als projektor wird es komischerweise auch ausgeführt - nur eben nicht in der swf
__________________
x 600.6
y 123.3
dante 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 20:04 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele