Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-09-2011, 10:00   #1 (permalink)
pixelhorse
 
Benutzerbild von itenbrink
 
Registriert seit: Oct 2002
Ort: 85457 Hörlkofen
Beiträge: 27
Mouseover springt zu Frame ...

Ich habe folgendes Problem:

Ich habe eine Schaltfläche die beim überfahren und klicken der Maus einen bestimmten Frame zeigen soll. Wenn man loslässt oder den Bereich verlässt soll ein anderer Frame angezeigt werden.

Auf der Schaltfläche habe ich folgendens Script:
Code:
on(press, rollOver){
gotoAndStop(10);
}
on(release, releaseOutside, rollOut ) {
gotoAndStop(2);
}
Nun springt die Anzeige aber immer hin und her und geht auch beim verlassen nicht zurück in die Ausgangsposition.
__________________
die beste sicht hat man immer von oben
itenbrink ist offline   Mit Zitat antworten
Alt 29-09-2011, 16:34   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
Zitat:
Zitat von itenbrink Beitrag anzeigen
Nun springt die Anzeige aber immer hin und her und geht auch beim verlassen nicht zurück in die Ausgangsposition.
a) du benützt flash4 syntax, wenn du nicht gerade für ein museum arbeitest ;-) versuch mal was neueres ...

b) ich vermute, beim frame wechsel wechselst du auch den button (oder zu flash4 zeiten wars halt so)? dadurch bekommt der button beim verlassen des frames ein out. am neuen frame angekommen gibts ein over usw.

pack deinen button in eine eigene ebene und/oder das was gewechselt werden soll in ein eigenes mc. dann nicht
gotoAndStop(10);
sondern
container.gotoAndStop(10); // container stellvertretend für den namen des mc's in dem das zu wechselnde zeugs drinn wäre.
so bleibt der button erhalten.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 29-09-2011, 17:34   #3 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Servus.

Zur weiteren Veranschaulichung, was hgseib schreibt betreffend, hier mal ein Beispiel mit einem MovieClip-Button. Inkl. FLA im Anhang (Flash 8).

PHP-Code:
/*
* Handler für Button deklarieren
* this bezieht sich auf die Zeitleiste des Objekts (hier mc_button, weil an diesem MovieClip die Funktion als Event übergeben wurde)
*/
function ButtonStatus1() {
    
this.gotoAndStop(10);
}
function 
ButtonStatus2() {
    
this.gotoAndStop(2);
}
/*
* Die jeweilige Funktion als Event für den Buttonstatus anhängen
*/
mc_button.onPress ButtonStatus1;
mc_button.onRollOver ButtonStatus1;
mc_button.onRelease ButtonStatus2;
mc_button.onReleaseOutside ButtonStatus2;
mc_button.onRollOut ButtonStatus2
Angehängte Dateien
Dateityp: fla buttons.fla (24,5 KB, 1x aufgerufen)

Geändert von ~pyropete~ (29-09-2011 um 17:36 Uhr)
~pyropete~ ist offline   Mit Zitat antworten
Alt 29-09-2011, 22:40   #4 (permalink)
pixelhorse
 
Benutzerbild von itenbrink
 
Registriert seit: Oct 2002
Ort: 85457 Hörlkofen
Beiträge: 27
Leider ist alles wohl doch noch komplizierter ...

und die Sache mit dem Button haut noch nicht hin.

Kann auch sein weil ich zwei Sachen machen will:
Eine Bitmap wegradieren und gleichzeitig den Buttonstatus ändern ...

PHP-Code:
// onMouseMove event handler for erasing
function useEraserMouseMove(){
    
    
// devise an offset based on the mouse's
    // position in image_mc and tooloffset
    
var offset = new flash.geom.Point(image_mc._xmouse tooloffsetimage_mc._ymouse tooloffset);
    
    
// devise a drawing rectangle the size of the
    // the drawing tools at the offset's location
    
var drawRect = new flash.geom.Rectangle(offset.xoffset.ytoolsizetoolsize);
    
    
// next, copy pixels from the drawbmp back onto itself
    // (makes for no change) but use erasebmp as the alphaBitmap
    // this will add the alpha channel information from erasebmp
    // into drawbmp erasing pixels from drawbmp in the shape of erasebmp
    
drawbmp.copyPixels(drawbmpdrawRectoffseterasebmpbasepointfalse);
    
    
// update after each mouse movement
    
updateAfterEvent();
    
erase_btn.onPress();
    
monster.onPress ButtonStatus1;
    
gotoAndPlay(9);


__________________
die beste sicht hat man immer von oben

Geändert von itenbrink (29-09-2011 um 22:41 Uhr)
itenbrink ist offline   Mit Zitat antworten
Alt 30-09-2011, 12:55   #5 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
kann man aus dem stückchen code nicht sagen ... kann jetzt auch keinen konkreten tipp geben.


grundsätzlich ist ein button nur dafür da, um für bestimmte ereignisse ein event auslösen zu können. ausgeführt wird das von normalen programmen. also da kann es keine einschränkung geben.

so vermute ich mal: dir ist nicht wirklich klar was du machst? bzw. was du glaubst und was flash tatsächlich macht. da ist der einsatz des debuggers gefragt. gehe dein programm step für step durch.

und überprüfe nochmals:
- was ist local bzw. global (ist das alles richtig?)
- wie ist die reihenfolge der ausführungen (manche sachen können von flash erst ausgeführt werden, nach dem deine scripte abgearbeitet sind und dann halt flash selbst drann kommt - debuggen)
- in der zeitleiste gibt es key's. von key zu key das ist eine zeitspur. objekte leben nur so lange, wie der programmablauf sich innerhalb ihrer zeitspur bewegt.
- flash2 ist sehr tollerant, was fehler angeht - hat alles vor- und nachteile. nachteil z.b. wenn ein objekt nicht ansprechbar ist, dann meldet das flash nicht als fehler (auch hier debuggen und/oder mögliche fehlerquellen trace'n) oder as3 ;-)

auch durchaus hilfreich: separiere dein problem in einer testdatei. erstelle eine fla in der du was testen kannst. sowas kann man dann auch besser (als was weiss ich für dicke dinger) hier zum ansehen hochladen.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (30-09-2011 um 13:01 Uhr)
hgseib 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
htmltext springt nach MouseOver broud ActionScript 3 3 21-10-2010 09:17
Aktueller Frame soll angesprochen werden, springt aber ein Frame weiter framic ActionScript 1 2 13-12-2006 09:00
print() - Film springt zu Frame 1 chacharon Flash MX 1 13-03-2004 15:54
flash springt zum falschen frame!!! phlipmaster Flash MX 2 27-08-2002 12:20
MC springt zu letztem frame BullGooseLooney ActionScript 1 16 13-12-2001 18:17


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:02 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele