Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-08-2006, 12:37   #1 (permalink)
angry > always
 
Benutzerbild von ingohill
 
Registriert seit: Jul 2001
Ort: NRW
Beiträge: 1.635
onMouseUp reagiert merkwürdig

hi.

ich attache auf der root mehrere mc, die, sobald sie plaziert sind, sich über funktionsaufruf mit funktionen belegen:
ActionScript:
  1. _root.addMouseDown( this._name );
  2. _root.addMouseUp( this._name );
  3. _root.addInfo( this._name );

ActionScript:
  1. function addMouseDown( mc ) {
  2. eval( mc ).onMouseDown = function() { trace( "geklickt: " + mc ); }
  3. }
  4.  
  5. function addMouseUp( mc ) {
  6. eval( mc ).onMouseUp = function() { trace( "gelöst: " + mc ); }
  7. }
mein problem:
wenn ich die maus loslasse, wendet die funktion die anweisung auf alle an,
hingegen bei onMouseDown nur der geklickte mc reagiert.

wieso?

-ingo
__________________

on air: caliban | neaera | heaven shall burn | hatebreed | the agony scene
ingohill ist offline   Mit Zitat antworten
Alt 03-08-2006, 12:48   #2 (permalink)
Neuer User
 
Benutzerbild von Xeef
 
Registriert seit: Sep 2004
Ort: Spain/Ibiza
Beiträge: 942
kan ich nicht nachvolzihen !


ActionScript:
  1. _mc1.onMouseDown = _mc2.onMouseDown=function () {
  2.     trace("D "+this);
  3. };
  4. _mc1.onMouseUp=_mc2.onMouseUp=function () {
  5.     trace("U "+this);
  6. };
  7. //outpu -->
  8. D _level0._mc2
  9. D _level0._mc1
  10. U _level0._mc2
  11. U _level0._mc1
  12. D _level0._mc2
  13. D _level0._mc1
  14. U _level0._mc2
  15. U _level0._mc1
  16. //
  17.  
__________________
Languages : (in the order of knowledge/preference)
Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish
Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar

wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;)
Xeef ist offline   Mit Zitat antworten
Alt 07-08-2006, 15:59   #3 (permalink)
angry > always
 
Benutzerbild von ingohill
 
Registriert seit: Jul 2001
Ort: NRW
Beiträge: 1.635
hier das beispiel:
ActionScript:
  1. for(i=0; i<10; i++)
  2. {
  3.     _root.createEmptyMovieClip ("mc"+i, i+1);
  4.     with (_root["mc"+i])
  5.     {
  6.         beginFill (0x0000FF, 50);
  7.         lineStyle (1, 0xF9F9F9, 100);
  8.         moveTo (0, 0);
  9.         lineTo (50, 0);
  10.         lineTo (50, 50);
  11.         lineTo (0, 50);
  12.         lineTo (0, 0);   
  13.         _x = random(400);
  14.         _y = random(350);
  15.         endFill();
  16.     }
  17.     _root["mc"+i].onPress = function()
  18.     {
  19.         trace( "geklickt: " + this );
  20.         this.onMouseUp = function()
  21.         {
  22.             trace( "losgelassen: " + this );
  23.         }
  24.     }
  25. }
  26.  
  27. stop();
ausgabe nach dem 1. klick:
geklickt: _level0.mc5
losgelassen: _level0.mc5

ausgabe nach dem 1. klick:
geklickt: _level0.mc6
losgelassen: _level0.mc6
losgelassen: _level0.mc5

ausgabe nach dem 3. klick:
geklickt: _level0.mc2
losgelassen: _level0.mc6
losgelassen: _level0.mc5
losgelassen: _level0.mc2

es wächst immer mehr, dabei brauche ich eine 1:1 zuordnung.
wo liegt mein fehler?

-ingo


-ingo
__________________

on air: caliban | neaera | heaven shall burn | hatebreed | the agony scene
ingohill ist offline   Mit Zitat antworten
Alt 07-08-2006, 16:26   #4 (permalink)
angry > always
 
Benutzerbild von ingohill
 
Registriert seit: Jul 2001
Ort: NRW
Beiträge: 1.635
niemand einen rat?
-ingo
__________________

on air: caliban | neaera | heaven shall burn | hatebreed | the agony scene
ingohill ist offline   Mit Zitat antworten
Alt 07-08-2006, 16:27   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
PHP-Code:
_root["mc"+i].onPress = function() {
        
trace("geklickt: "+this);
        
this.onMouseUp = function() {
            
trace("losgelassen: "+this);
            
delete this.onMouseUp
        
};
    }; 
Aber wieso nicht einfach onRelease()???
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 07-08-2006, 16:32   #6 (permalink)
angry > always
 
Benutzerbild von ingohill
 
Registriert seit: Jul 2001
Ort: NRW
Beiträge: 1.635
vielen dank.
weil das leider schon belegt war bzw. onRelease andersweitig benötigt wurde.
könig kunde hatte später andere grandiose ideen und ging nicht mehr
auf usebility ein.


-ingo
__________________

on air: caliban | neaera | heaven shall burn | hatebreed | the agony scene
ingohill ist offline   Mit Zitat antworten
Alt 07-08-2006, 16:40   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Allerdings funktioniert das "onMouseUp" auch außerhalb des MCs (nur mal zur Info).
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 07-08-2006, 16:49   #8 (permalink)
angry > always
 
Benutzerbild von ingohill
 
Registriert seit: Jul 2001
Ort: NRW
Beiträge: 1.635
ich weiß, danke für den hinweis.
dieses verhalten wird korrekt gesteuert.

-ingo
__________________

on air: caliban | neaera | heaven shall burn | hatebreed | the agony scene
ingohill ist offline   Mit Zitat antworten
Alt 07-08-2006, 16:55   #9 (permalink)
Neuer User
 
Benutzerbild von Xeef
 
Registriert seit: Sep 2004
Ort: Spain/Ibiza
Beiträge: 942
ist ja klar das es anwechst nach jedem press liseting mehr clips auf onMouseUp

wie Der Frager erwhent hat ist "onMouseSowiso" global heist es wird nicht berucsichtigt ub die mouse nun uber den clip ist oder nicht
wo du auch immer clickst onMouse wird ausgelost

entweder

den onMouseUp bei onMouseUp entfernen

sowas wie :

ActionScript:
  1. for (i=0; i<10; i++) {
  2.     _root.createEmptyMovieClip("mc"+i, i+1);
  3.     with (_root["mc"+i]) {
  4.         beginFill(0x0000FF, 50);
  5.         lineStyle(1, 0xF9F9F9, 100);
  6.         moveTo(0, 0);
  7.         lineTo(50, 0);
  8.         lineTo(50, 50);
  9.         lineTo(0, 50);
  10.         lineTo(0, 0);
  11.         _x = random(400);
  12.         _y = random(350);
  13.         endFill();
  14.     }
  15.     _root["mc"+i].onPress = function() {
  16.         trace("geklickt: "+this);
  17.         this.onMouseUp = function() {
  18.             trace("losgelassen: "+this);
  19.             this.onMouseUp = null;
  20.         };
  21.     };
  22. }
  23. stop();

oder mit hitTest arbeiten
__________________
Languages : (in the order of knowledge/preference)
Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish
Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar

wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;)
Xeef 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 23:53 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele