Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-12-2006, 01:07   #1 (permalink)
dreizeiler
 
Benutzerbild von mojave
 
Registriert seit: Sep 2004
Ort: Berlin
Beiträge: 1.411
[STUFF] DoubleClick || Doppelklick

ja ja, alles schon mal dagewesen

Vorteil: Singleton + onPress, onRelease werden nicht überschrieben.


PHP-Code:
import mx.utils.Delegate;

class 
de.sonntagsfarben.utils.DoubleClick
{
    private static var 
instance DoubleClick;
    private var 
clickObj:Object;
    private var 
clickSpeed:Number 200;
    
    private function 
DoubleClick ()
    {
        
init ();
    }
    
    
    private function 
init () : Void
    
{
        
clickObj = new Object();
    }
    
    
    public function 
check(mc:MovieClip/*optional*/ speed:Number):Boolean
    
{
        
        
speed speed || this.clickSpeed;
        
        if(
clickObj[mc] == undefined)
        {
            
clickObj[mc] = new Object();
            
clickObj[mc].time 0;
            
clickObj[mc].clickinterval setInterval(Delegate.create(this,function(){clickObj[mc].time++; clearInterval(clickObj[mc].clickinterval);delete(clickObj[mc]);}),speed);
        }
        else
        {
            if(
clickObj[mc].time==0)
            {
                
clearInterval(clickObj[mc].clickinterval);
                
delete(clickObj[mc]);
                return 
true;
            }
            return 
false;
        }
        return 
false;
    }
        
    
    public static function 
getInstance () : DoubleClick
    
{
        if (
instance == null)
            
instance = new DoubleClick ();
        return 
instance;
    }

@usage:

PHP-Code:
//bsp auf _root:

import de.sonntagsfarben.utils.DoubleClick;

function 
onMouseDown(){
    
trace(DoubleClick.getInstance().check(this));    

mojave ist offline   Mit Zitat antworten
Alt 20-12-2006, 06:29   #2 (permalink)
alte pfeife
 
Benutzerbild von muschko
 
Registriert seit: May 2003
Ort: Kassel
Beiträge: 1.222
super :-)

sieht sehr gut aus... und der hit find ich das onPress + onRelease nicht überschrieben werden

endlich mal wieder schicker stuff

thx * thumbs up *
muschko ist offline   Mit Zitat antworten
Alt 20-12-2006, 06:56   #3 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
@mojave: Neu ist das aber nicht und die Ereignisse muss man auch nicht überschreiben.

Kuckst du hier:
Doppelklick bei Flash 8

Das ändert jedoch nichts daran, dass die vorliegende Lösung sehr brauchbar ist.

Liebe Grüße,
Matze K.

Geändert von Madokan (20-12-2006 um 06:58 Uhr)
Madokan ist offline   Mit Zitat antworten
Alt 25-04-2008, 11:11   #4 (permalink)
dreizeiler
 
Benutzerbild von mojave
 
Registriert seit: Sep 2004
Ort: Berlin
Beiträge: 1.411
da war im übrigen etwas überflüssiges dabei - allein der singleton war unnötig. so ist's besser:

PHP-Code:
class DoubleClick
{
    private static var 
clickObj:Object = new Object();
    private static var 
clickSpeed:Number 200;
    public static function 
isDoubleClick(target:Object/*optional*/ speed:Number):Boolean
    
{
        
speed speed || clickSpeed;    
        if(
clickObj[target] == undefined)
        {
            
clickObj[target] = new Object();
            
clickObj[target].clickinterval setInterval(deleteClickObjectspeedtarget);
        }
        else
        {
            
deleteClickObject(target);
            return 
true;
        }
        return 
false;
    }
    private static function 
deleteClickObject(target:Object):Void
    
{
        
clearInterval(clickObj[target].clickinterval);
        
delete(clickObj[target]);
    }


Geändert von mojave (25-04-2008 um 11:16 Uhr)
mojave 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 19:22 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele