Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-03-2004, 06:27   #1 (permalink)
#no.991 @ MM
 
Benutzerbild von hugeinc
 
Registriert seit: Apr 2003
Ort: München
Beiträge: 327
Kreismenu von Fla6 auf Fla7

Hi zusammen,
ich hab hier ein Kreismenu zusammengebastelt.

Das Problem ist, dass es jetzt in Flash (MX 2004 prof) nicht mehr funktioniert. Ich such jetzt schon seit 2,5 Stunden und find einfach den Fehler nicht. Hat einer von Lust und Zeit, mal zu schauen und mir nen Tipp zu geben?
Mein Framescript:
ActionScript:
  1. MovieClip.prototype.drehscheibeInit = function(elast, ratio, snapsteps) {
  2.     this.rotate = false;
  3.     this.elast = elast;
  4.     this.ratio = ratio;
  5.     this.winkel = _rotation;
  6.     this.ziel = this.winkel;
  7.     if (arguments.length == 3) {
  8.         snap = true;
  9.         this.snapdist = snapdist;
  10.     }
  11. };
  12. MovieClip.prototype.drehscheibe = function() {
  13.     if (this.startrotate) {
  14.         this.startrotate = false;
  15.         this.rotate = true;
  16.         this.offset = 180*Math.atan2(this._parent._ymouse-this._y, this._parent._xmouse-this._x)/Math.PI-this.ziel;
  17.     }
  18.     if (this.rotate) {
  19.         this.ziel = 180*Math.atan2(this._parent._ymouse-this._y, this._parent._xmouse-this._x)/Math.PI-this.offset;
  20.     }
  21.     if (this.ziel>360) {
  22.         this.ziel -= 360;
  23.     }
  24.     if (this.ziel<-360) {
  25.         this.ziel += 360;
  26.     }
  27.     // einrasten
  28.     if (this.snap) {
  29.         this.ziel = Math.round(this.ziel/this.snapdist)*this.snapdist;
  30.     }
  31.     var diff = this.ziel-this.winkel;
  32.     while (diff>180) {
  33.         diff -= 360;
  34.     }
  35.     while (diff<-180) {
  36.         diff += 360;
  37.     }
  38.     this.drehung = this.drehung*this.elast+diff*this.ratio;
  39.     this.winkel += this.drehung;
  40.     if (this.winkel>360) {
  41.         this.winkel -= 360;
  42.     }
  43.     if (this.winkel<0) {
  44.         this.winkel += 360;
  45.     }
  46.     this._rotation = this.winkel;
  47. };
  48. stop();
Das liegt auf den Kreisclips:
ActionScript:
  1. onClipEvent (load) {
  2.     drehscheibeInit(0.05,0.2);
  3. }
  4. onClipEvent (enterFrame) {
  5.     drehscheibe();
  6. }
Und das auf den Buttons in den Clips:
ActionScript:
  1. on (press) {
  2.     startrotate=true;
  3. }
  4. on (release, releaseOutside) {
  5.     rotate=false;
  6. }
Wäre klasse, wenn einer von euch nen Tipp hätte.
Greets, Micha
Angehängte Dateien
Dateityp: zip kreismenu.zip (16,4 KB, 35x aufgerufen)
__________________
Arbeit ist keine Lösung...
hugeinc ist offline   Mit Zitat antworten
Alt 26-03-2004, 16:06   #2 (permalink)
PIXELSCHIEBER
 
Benutzerbild von FlashKasper
 
Registriert seit: Oct 2001
Ort: Salem, Bodensee
Beiträge: 638
Hi hugeinc

this.drehung = 0;

muss in drehscheibeInit initialisiert werden bzw. musst du die Variable vorher auf 0 setzen, sonst kann Flash7 mit der Variablen nicht rechnen.

Unter Flash 6 wurden alle nicht vorher initialisierten Variabeln immer mit 0 gesetzt, bei Flash 7 ist das nicht mehr der Fall.

Gruss
FlashKasper
__________________
Pack den Highscore

Geändert von FlashKasper (26-03-2004 um 16:09 Uhr)
FlashKasper ist offline   Mit Zitat antworten
Alt 26-03-2004, 19:11   #3 (permalink)
#no.991 @ MM
 
Benutzerbild von hugeinc
 
Registriert seit: Apr 2003
Ort: München
Beiträge: 327
Hi Kaspar,

sorry, wenn ich jetzt antworte. 2muchWork :-((

Hab deine Tipp direkt getestet und ... ´s läuft einwandfrei.
1000 Dank, Micha

> vorher initialisierten Variabeln
Jetzt weiss ich auch, warum so einige andere Dinge bei mir nicht liefen.

Greets, Micha
__________________
Arbeit ist keine Lösung...
hugeinc 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:47 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele