Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-12-2009, 14:29   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2009
Beiträge: 22
Objektlänge bei Mausklick

Hiho!
Ich möchte bei meinem Spiel das die Zunge eines Chamaeleon länger wird, je länger man die Maustaste gedrückt hält. Wenn die Maustaste los gelassen wir soll dann die Animation der Zunge abgespielt werden. Ein Counter soll dabei die Länge zählen. Der Wert der Länge soll dann zu der x-Skalierung der Zunge hinzu addiert werden.
Danach soll der Wert wieder auf Null gesetzt werden.

Ich habe es bereits so probiert:


stage.addEventListener(MouseEvent.MOUSE_DOWN, mausruntergeklickt);
stage.addEventListener(MouseEvent.MOUSE_UP, mausloslassen);


function mausruntergeklickt( evt:MouseEvent ) :void
{

for (var j : Number = 0 ; j < 20; j++) {
for (var i : Number = 0 ; i < 1000; i++)
{
counter++;
trace(counter);
}
}

}


function mausloslassen( evt:MouseEvent ) :void
{
_ckopf.zungenanimation.width = _ckopf.zungenanimation.width + counter/10000;
counter = 0;
}

Leider kommen da nun extrem hohe Zahlen raus und diese addieren sich immer mehr.
Weiß vielleicht jemand von euch wo der Fehler liegt und wie ich es besser lösen kann?

Viele Grüße Miriam
m!ri4m ist offline   Mit Zitat antworten
Alt 18-12-2009, 15:01   #2 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
versuch mal so, wenn die maus geclickt wird setzt du ein onEnterFrame-Event in gang, jetzt wird der counter hochgezählt, läßt du die maus los stoppt das onEnterFrame-Event und counter wird auf 0 gesetzt.
PHP-Code:
stage.addEventListener(MouseEvent.MOUSE_DOWNmausruntergeklickt);
stage.addEventListener(MouseEvent.MOUSE_UPmausloslassen);
var 
counter:Number 0;

function 
mausruntergeklicktevt:MouseEvent ) :void
{

    
addEventListener(Event.ENTER_FRAMEoef);

}


function 
mausloslassenevt:MouseEvent ) :void
{
    
removeEventListener(Event.ENTER_FRAMEoef);
    
counter 0;


function 
oef(event:Event):void
{
    
counter++;
    
trace(counter);

__________________
[mooseMash]
mooseMash ist offline   Mit Zitat antworten
Alt 18-12-2009, 15:20   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2009
Beiträge: 22
Zitat:
Zitat von mooseMash Beitrag anzeigen
versuch mal so, wenn die maus geclickt wird setzt du ein onEnterFrame-Event in gang, jetzt wird der counter hochgezählt, läßt du die maus los stoppt das onEnterFrame-Event und counter wird auf 0 gesetzt.
PHP-Code:
stage.addEventListener(MouseEvent.MOUSE_DOWNmausruntergeklickt);
stage.addEventListener(MouseEvent.MOUSE_UPmausloslassen);
var 
counter:Number 0;

function 
mausruntergeklicktevt:MouseEvent ) :void
{

    
addEventListener(Event.ENTER_FRAMEoef);

}


function 
mausloslassenevt:MouseEvent ) :void
{
    
removeEventListener(Event.ENTER_FRAMEoef);
    
counter 0;


function 
oef(event:Event):void
{
    
counter++;
    
trace(counter);


Juhu danke, das geht jetzt schonmal. Kann man vielleicht noch einen Maximalwert irgendwo festlegen, das die zunge max. so lang werden kann, wie man festgelegt hat?

So sieht es im moment aus:

function mausruntergeklickt( evt:MouseEvent ) :void
{

addEventListener(Event.ENTER_FRAME, oef);

}


function mausloslassen( evt:MouseEvent ) :void
{
removeEventListener(Event.ENTER_FRAME, oef);
_ckopf.zungenanimation.width=_ckopf.zungenanimatio n.width+counter;
counter = 0;
}

function oef(event:Event):void
{
counter++;
trace(counter);
_ckopf.zungenanimation.width=14.7;

}


Viele Grüße
Miriam

Geändert von m!ri4m (18-12-2009 um 15:39 Uhr)
m!ri4m ist offline   Mit Zitat antworten
Alt 18-12-2009, 17:01   #4 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
PHP-Code:
stage.addEventListener(MouseEvent.MOUSE_DOWNmausruntergeklickt);
stage.addEventListener(MouseEvent.MOUSE_UPmausloslassen);
var 
counter:Number 0;
var 
limit:Number 50;
var 
initWidth:Number zunge.width;//breiteZunge

function mausruntergeklicktevt:MouseEvent ) :void
{

    
addEventListener(Event.ENTER_FRAMEoef);

}


function 
mausloslassenevt:MouseEvent ) :void
{
    
removeEventListener(Event.ENTER_FRAMEoef);
    
counter 0;
    
zunge.width initWidth;


function 
oef(event:Event):void
{    
   if(
counter>=limit)return;
    
counter++;
    
zunge.width initWidth counter;

__________________
[mooseMash]
mooseMash ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
counter, maus, mouse, mousedown, mouseup

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
Mausklick-Counter MMMichael Flash 4 und Flash 5 11 21-08-2005 11:24
mausklick Jochi Flash MX 2004 1 01-02-2005 15:07
Mausklick michaelklaehn ActionScript 1 2 17-10-2004 19:25
mausklick Flasher Hermann Flash MX 7 21-02-2003 17:18
Mausklick... Der Kleine ActionScript 1 4 27-07-2002 13:08


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:06 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele