programmier-problem

ba77

New member
hallo, ihr flash-gurus! brauch dringend einen tip von euch:
hab mir leider eine ganz bestimmte navigation eingebildet, aber wenn ich die "zu fuss" mach, werd ich alt (es gibt 25 möglichkeiten, wie sich 5 buttons verändern sollten), und ich glaub, das müsste viel einfacher in AS gehen...
hab das file angehängt zum anschauen - wär ein hit, wenn jemand von euch eine idee hätte :)
thx, ba
 

Anhänge

  • navig.swf
    65,5 KB · Aufrufe: 78
Da Du nicht dazugeschrieben hast, was Deine FLA eigentlich genau machen soll, muß ich halt raten:

- jeden Navigationspunkt in einen eigenen MC
- dabei Frame 1 normal, Frame 2 aktiviert; optional: jeweils ein stop ();
- alle MCs mit identischen Aufbau
- die MCs auf die Bühne ziehen
- entsprechende Instanznamen vergeben
- in den on (release) Handlern der Buttons jeden MC über Instanznamen ansprechen alle auf gotoAndStop (1) setzen außer aktuellen, den auf gotoAndStop (2)
- fertig

jetzt bist Du dran mit raten / probieren ;)
 
ich glaub es gibt unzählige varianten wie sich ein button verändern kann.....
lass doch deiner fantasie freien lauf.....!
und was soll aus der swf hervor gehn?
sorry weis nicht wie ich dir jetzt helfen kann.....
du erwartest doch nicht, das ich jetzt ne idee ausspucke, wie du deine buttons gestalten kannst?
 
hallo! danke für eure antworten - tut leid, war etwas unklar - dachte, wenn ich die swf-datei anhäng, sieht man an den ersten zwei buttons, die schon funktionieren, wie ich mir das vorstell.
versuch nochmal, die swf-datei anzuhängen (die fla ist leider zu groß) :eek:
thx, ba
 

Anhänge

  • navig.swf
    23,4 KB · Aufrufe: 33
lies Dir meine Antwort nochmal genau durch und denk drüber nach... mit Ausnahme der Animation (die kein Problem darstellt) sollte es genau das machen!!
 
danke, albu, für deine antwort: mein problem ist hauptsächlich, daß ich 5 buttons hab, und ich wollte, daß wenn jemand z.b. den ersten button klickt, dann ändert dieser sein aussehen. wenn dann der zweite gedrückt wird, soll der erste wieder sein ursprüngliches aussehen erhalten und gleichzeitig der zweite sich ändern. d.h. es gibt 30 möglichkeiten (wenn ich richtig gerechnet hab) -> kein button aktiv und einer der 5 wird gedrückt, plus alle möglichkeiten von nr.1 aktiv, nr.2 gedrückt / 1 aktiv, 3 gedrückt, etc. bis 5 aktiv, 4 gedrückt...
und ich kann mir nicht vorstellen, daß das animieren aller buttons "zu fuss" die beste lösung ist... mein problem ist, daß sich gleichzeitig der aktive button zurückändern soll, und der neue ändern.
hoffe, ich habs diesmal ein bissi klarer geschafft, nett daß ihr mir helft :)
ba
 
sorry daß ich mich wiederhole, aber: lies Dir meine Antwort durch.... da ist genau dieses Verhalten angerissen ;)
 
hallo, nochmal! hat das swf zum downloaden funziert?
mir is noch was eingefallen: könnte für jeden button zwei mcs machen: einen mit der animation zu "aktiv" und einen anderen "zurück" und wenn jemand einen button klickt, z.b. den 3er und der 2er war aktiv, dann spielen der 2er-zurück und der 3er-ändert sich ab...
hmmm, vielleicht gehts so :)
thx for thinking with me,
ba
 
sorry, albu, unsere antworten überschneiden sich immer - werd jetzt mal probieren, was du mir geschrieben hast ;)
ba
 
hallo, albu! so, hab ein wenig probiert - wo ich jetzt ansteh, ist (nach dem vergeben von instanznamen) das ansprechen der instanzen - hättest du ein kleines skriptbeispiel für mich? - das wär total leiwand :)
thx, ba
 
unter der Annahme, daß die einzelnen Nav MCs alle im selben Container MC untergebracht sind (z.B. die Bühne) und sie mit nav1_mc, nav2_mc, usw. benannt wurden und die Buttons sich in den Nav MCs befinden, dann sollte folgendes für Nav Punkt 1 funzen:
PHP:
on(release)
{
  _parent.nav2_mc.gotoAndStop (1);
  _parent.nav3_mc.gotoAndStop (1);
  :
  :
  gotoAndPlay (2); // weitere Annahme ab Frame 2 befindet sich die RollOver/Aktivieren Animation
}
 
hallo, albu! so, das funzt soweit ganz gut und erspart sehr viel arbeit :D
leider hab ich noch immer ein problem, nämlich wenn alle buttons noch in der ausgangsposition sind - vielleicht könntest du dir mal die fla ansehen?
thx a lot,
ba
 

Anhänge

  • test.fla
    32 KB · Aufrufe: 25
hallo, nochmal!
hab die falsche datei angehängt - hier die richtige :eek:
thx, ba
 

Anhänge

  • test.fla
    18 KB · Aufrufe: 15
Die Zurückroll-Funktion macht die notwendige Logik ein bißchen aufwändiger. Hierbei fallen mir spontan zwei Ansätze ein:
1. Jeder MC bekommt eine Zustandsvariable, die entweder 0 für normal oder 1 für aktiv annimmt. Vor dem gotoAndPlay wird der Zustand des betroffenen MCs geprüft und nur bei Zustand 1 die Aktion ausgelöst. Optional zu einer eigenen Variablen kann auch die Eigenschaft _currentframe des MCs abgefragt werden. Dies ist aber nicht so flexibel wie die Verwendung einer Zustandsvariablen, da bei Änderungen mehrere Stellen geändert werden müßten (z.B. wenn einer der MCs soll eine andere Animation bekommen, mit anderem Zeitverhalten, usw).
2. In einer globalen Variable wird der MC gespeichert, der zuletzt aktiviert wurde. Beim Klick wird nur der MC aus der Variable mit gotoAndPlay angeschubst und der aktuelle MC in der Variable gespeichert. Befindet sich kein MC in der Variable, dann hat ein gotoAndPlay keine Auswirkung.

Vermutlich ist für Dich 2. einfacher in der Anwendung und Umsetzung.
 
paff, da hab ich wieder was zu knabbern... ;)
werd mal mit meinen bescheidenen programmierkenntnissen mit _currentframe probieren, das krieg ich glaub ich am leichtesten in den griff :eek:
meld mich wieder, danke einstweilen!
ba
 
hallo, albu! so, habs jetzt so probiert - und soweit funzt das sogar (is mein erstes if-skript :) ):
on(release) {
if(_root.mc2._currentframe>1){
_root.mc2.gotoAndPlay(11);}
gotoAndPlay(2);
}

(die animation hat 20 frames - 1-10 ist für die bewegung richtung aktiv, 11-20 zurück - das ist für den ersten von vorerst zwei buttons, die anderen muss ich halt dann noch einbauen.)
siehst du noch einen denkfehler?
thx again!
ba
 

Anhänge

  • test.fla
    32 KB · Aufrufe: 6
Zurück
Oben