Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-11-2006, 20:01   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Tokyo (J)
Beiträge: 273
Funktion mit Variabelwert

Hallo Allerseits

Ich versuche während der Runtime ein MC anzuhängen und eine onRelease funktion einzubauen:
ActionScript:
  1. _root.Menue.onRelease = function() {
  2.   if (_global.MenuePoint != "Test") {
  3.     //mach irgendwas
  4.   }
  5. };

nun möchte ich diese Zeile:
ActionScript:
  1. _global.MenuePoint != "Test";
aber so umgestalten, dass ich "Test" durch eine Variable einsetzen kann, aber so funktioniert dies leider nicht:
ActionScript:
  1. _global.MenuePoint != Arr_Menue[i];
Arr_Menue[i] wäre dabei während des erstellens "Test", nach dem erstellen aber nicht mehr!

Kann mir jemand unter die Arme greifen? Habe da scheinbar etwas grundlegendes noch nicht verstanden.

Danke vielmals

H.2.O

Geändert von Hasch2o (19-11-2006 um 20:02 Uhr)
Hasch2o ist offline   Mit Zitat antworten
Alt 19-11-2006, 20:48   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
bitte einen vollständigen script schreiben
...
und wo kommt dein "i" her?
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 19-11-2006, 21:13   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Tokyo (J)
Beiträge: 273
Natürlich, sorry, hier ist mein script:
ActionScript:
  1. _root.BG.onEnterFrame = function() {
  2.  if (this._currentframe == 40) {
  3.  _root.attachMovie("Schriftzug", "Schriftzug",200);
  4.  _root.Schriftzug._x = 700;
  5.  _root.Schriftzug._y = 480;
  6.  
  7.  _root.attachMovie("Menue","Menue",100);
  8.  _root.Menue._x = 20;
  9.  _root.Menue._y = 25;
  10.  var Arr_Menue = Array("about","products","contact","partners");
  11.  for(var i=0;i<Arr_Menue.length;i++){
  12.   _root.Menue.attachMovie("Button","Button_" + Arr_Menue[i],31+i);
  13.   _root.Menue["Button_" + Arr_Menue[i]]._x = i*150;
  14.   _root.Menue["Button_" + Arr_Menue[i]]._y = 5;
  15.   _root.Menue["Button_" + Arr_Menue[i]].ButtonText.text = Arr_Menue[i];
  16.   _root.Menue["Button_" + Arr_Menue[i]].ButtonTextShadow.text = _root.Menue["Button_" + Arr_Menue[i]].ButtonText.text;
  17.  
  18.   _root.Menue["Button_" + Arr_Menue[i]].onEnterFrame = function() {
  19.    if (this.var_rollover){
  20.     this.nextFrame();
  21.    } else {
  22.     this.prevFrame();
  23.    }
  24.   }
  25.  
  26.   _root.Menue["Button_" + Arr_Menue[i]].onRollOver = function(){
  27.    if(_global.MenuePoint = [Arr_Menue[i]){
  28.     this.var_rollover = true;
  29.    }
  30.   }
  31.  
  32.   _root.Menue["Button_" + Arr_Menue[i]].onRollOut = function(){
  33.    this.var_rollover = false;
  34.   }
  35.  
  36.   _root.Menue["Button_" + Arr_Menue[i]].onRelease = function() {
  37.    if (_global.MenuePoint != Arr_Menue[i]) { //dies ist die Zeile die nicht funktioniert,
  38. //da Flash während der Laufzeit auf Arr_Menue[i] zurückgreifen möchte!
  39.     _global.MenuePointOld = _global.MenuePoint;
  40.     _global.MenuePoint = Arr_Menue[i];
  41.     this.var_rollover = false;
  42.     _parent["Palette_" + _global.MenuePoint].swapDepths(151);
  43.     _parent["Palette_" + _global.MenuePoint].gotoAndPlay(11);
  44.     _parent.attachMovie("Palette","Palette_" + Arr_Menue[i],150);
  45.     _parent["Palette_" + Arr_Menue[i]].PaletteName.text = Arr_Menue[i];
  46.     _parent["Palette_" + Arr_Menue[i]].Palette_About._y = 15;
  47.    }
  48.   }
  49.  }
  50.  delete this.onEnterFrame;
  51. }
  52. };

Hoffe das ist alles klar. Wenn ich auf einem kompletten Holzweg bin, dann sagt mir dies bitte!

Danke und Gruss

H.2.O

Geändert von Hasch2o (19-11-2006 um 21:14 Uhr)
Hasch2o ist offline   Mit Zitat antworten
Alt 20-11-2006, 00:27   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
for (var i = 0; i<Arr_Menue.length; i++) {
_root.Menue["Button_"+Arr_Menue[i]].onRelease = function() {
if (_global.MenuePoint != Arr_Menue[i]) {

dieser fehler ist hier auch schon 1000mal besprochen worden.
die vorschleife wird abgearbeitet und danach steht in i Arr_Menue.length.
viel viel später drückst du auf einen deiner buttons und löst dadurch das event aus: in i steht immer noch Arr_Menue.length

wenn du individuelle werte in den button-objekten haben willst, dann musst du denen diese werte zuweissen. z.b.:
var _btn=_root.Menue["Button_"+Arr_Menue[i]];
_btn.AMi=Arr_Menue[i];
_btn.onRelease = function() {
if (_global.MenuePoint != this.AMi) {
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 20-11-2006, 08:38   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Tokyo (J)
Beiträge: 273
Hallo hgseib

Danke für deine Antwort, habe mir schon gedacht, dass dies bereits öfters gepostet wurde, da ich aber nicht wusste nach was ich suchen muss, hat meine Suche leider nichts ergeben

Danke vielmals für deine Antwort, werde es testen, sobald ich zuhause bin.

Gruss

H.2.O
Hasch2o 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 13:45 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele