Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-09-2006, 10:41   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2003
Beiträge: 377
mausrad -> erst nach klick aktiv...

hallo leute,

ich habe hier ein script zusammengebastelt, welches mir erlaubt, eine karte per mausrad zu zoomen, als auch per buttons. eine dragfunktion ist auch noch drin. wenn ich beim aufrufen der swf nun als ersten mit dem mausrad zoomen will, geht das solange nicht, bis ich auf die karte selbst geklickt habe, die also erst aktivieren muss. klicke ich anstelle des mausrades auf die buttons für die zoomfunktion, funktioniert alles. wo ich nun nicht weiterkomme, ist der umstand, dass die mausradfunktion sofort verfügbar sein soll, ohne erst die karte anzuklicken. sozusagen mouseover oder sowas in der art... kann mir jemand sagen wie ich das in diesem script bewerkstellige?

ActionScript:
  1. var originalWidth:Number;
  2. var originalHeight:Number;
  3. var originalXPosition:Number;
  4. var originalYPosition:Number;
  5.  
  6. if (originalWidth == null) {
  7.     StateMachinePart.setMask(Mask);
  8.     originalWidth = StateMachinePart._width;
  9.     originalHeight = StateMachinePart._height;
  10.     originalXPosition = StateMachinePart._x;
  11.     originalYPosition = StateMachinePart._y;
  12. }
  13. targetX = originalWidth/1;
  14. targetY = originalHeight/1;
  15. //targetW = originalWidth-50;
  16. //targetH = originalHeight-50;
  17.  
  18.  
  19. function zoomToState(stateX, stateY, stateH, stateW, mouseWheel) {
  20.     if (!mouseWheel) {
  21.         stateScale = targetW/stateW;
  22.         if (stateScale*stateH>targetH) {
  23.             stateScale = targetH/stateH;
  24.         }
  25.         mapX = targetX-(stateX*stateScale);
  26.         mapY = targetY-(stateY*stateScale);
  27.     } else {
  28.         stateScale = originalWidth/stateW;
  29.         if (stateScale*stateH>originalHeight) {
  30.             stateScale = originalHeight/stateH;
  31.         }
  32.         mapX = originalXPosition-(stateX*stateScale);
  33.         mapY = originalYPosition-(stateY*stateScale);
  34.     }
  35.     _root.onEnterFrame = function() {
  36.         //StateMachinePart._x -= (StateMachinePart._x-mapX)/5;
  37.         //StateMachinePart._y -= (StateMachinePart._y-mapY)/5;
  38.         StateMachinePart._xscale -= (StateMachinePart._xscale-(stateScale*100))/5;
  39.         StateMachinePart._yscale -= (StateMachinePart._yscale-(stateScale*100))/5;
  40.         if (Math.abs(StateMachinePart._x-mapX)<.5 && Math.abs(StateMachinePart._y-mapY)<.5 && Math.abs
  41. (StateMachinePart._xscale-(stateScale*100))<.5) {
  42.             delete (_root.onEnterFrame);
  43.         }
  44.     };
  45. }
  46.  
  47.  
  48. var mouseListener:Object = new Object();
  49. mouseListener.onMouseWheel = function(delta) {
  50.     pt1 = {x:originalXPosition, y:originalYPosition};
  51.     pt2 = {x:originalXPosition-originalWidth/2, y:originalYPosition-originalHeight/2};
  52.     pt3 = {x:originalXPosition+originalWidth/2, y:originalYPosition+originalHeight/2};
  53.     if (delta>0) {
  54.         pt2.x += 0;
  55.         pt3.x -= 260;
  56.         pt2.y += 0;
  57.         pt3.y -= 260;
  58.     } else {
  59.         pt2.x -= 0;
  60.         pt3.x += 260;
  61.         pt2.y -= 0;
  62.         pt3.y += 260;
  63.     }
  64.     StateMachinePart.globalToLocal(pt1);
  65.     StateMachinePart.globalToLocal(pt2);
  66.     StateMachinePart.globalToLocal(pt3);
  67.     _root.zoomToState(pt1.x, pt1.y, pt3.y-pt2.y, pt3.x-pt2.x, true);
  68. };
  69. Mouse.addListener(mouseListener);

danke im voraus!
__________________
OooO
stifflers mum ist offline   Mit Zitat antworten
Alt 03-10-2006, 18:45   #2 (permalink)
Neuer User
 
Registriert seit: Sep 2006
Beiträge: 15
ich habe das gleiche Problem... hast Du schon was gehört?
sebring ist offline   Mit Zitat antworten
Alt 04-10-2006, 07:09   #3 (permalink)
lernend
 
Benutzerbild von mychiara
 
Registriert seit: Mar 2003
Ort: essen
Beiträge: 771
ich glaube da gibts soweit keine lösung, das ist hie ran anderer stelle auch schon gefragt worden.
d.h. der user wird nicht drumherum kommen erst einmal die swf anzuklicken.
__________________
cheerio mychiara

--------------------------------------------------------------------------

lars roboter [myspace] | larsroboter.com:::.
mychiara ist offline   Mit Zitat antworten
Alt 11-10-2006, 13:07   #4 (permalink)
Sport-Junki
 
Benutzerbild von Der-Erzengel
 
Registriert seit: Sep 2006
Ort: Braunschweig
Beiträge: 5
Es gibt dafür eine Lösung!

Schaut Euch mal meine Seite an (www.BBG2.net).
Der Flash Film ist sofort aktiv - ohne vorherigen Klick!
Die Lösung findet Ihr auch hier im Forum. Habe leider das entsprechende Posting nicht gespeichert.

Wer suchet - der findet!
Der-Erzengel ist offline   Mit Zitat antworten
Alt 11-10-2006, 13:35   #5 (permalink)
Sport-Junki
 
Benutzerbild von Der-Erzengel
 
Registriert seit: Sep 2006
Ort: Braunschweig
Beiträge: 5
Exclamation Hab' da was gefunden...

Die Lösung des Problems ist unter dem folgenden Link sehr gut beschrieben. Damit hab' ich es auch hinbekommen. Viel Spaß!

http://www.powerflasher.de/sites/blog/swfobject/
Der-Erzengel ist offline   Mit Zitat antworten
Alt 11-10-2006, 13:49   #6 (permalink)
zimmer 101
 
Benutzerbild von ricobeck
 
Registriert seit: Jul 2003
Ort: LE
Beiträge: 1.581
@erzengel: darum geht's hier nicht. du löst das problem des aktivierens aktiver inhalte im iE. ()
es geht aber darum, dass der browser dem swf nicht den fokus zuweist. somit funktionieren zwar rollover-aktionen, aber key-events und scrollwheel eben erst, wenn man einmal in den film geklickt hat.
__________________
Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN.
ricobeck.de
ricobeck 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:01 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele