Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-03-2007, 21:40   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 32
Mauszeiger crasht mit Scrollbalken ???

Scriptprofis an die Front !

Problem:

Ich habe einen simplen Mauszeiger generiert, der den Systemzeiger ausblendet und einen eigenen MC stattdessen anzeigt. Dieser Mauszeiger crasht aber mit dem Scrollbalken einer dynamischen Textbox: Sobald ich den Scrollbalken mit dem Mauszeiger anklicke, bleibt der MC des Zeigers am Scrollbalken hängen. Die Systemmaus funktioniert weiterhin, bleibt aber natürlich unsichtbar.

Hier das simple Script des Zeigers:

PHP-Code:
onClipEvent (load) { 
    
startDrag (thistrue); 
    
Mouse.hide(); 

Und das Script des Scrollbalkens (Eine Gratiscomponente von "www.flashstar.de" = "Scrollbalken 2006 v5":

PHP-Code:
function init (hoehefeldraktiv)
{
    
signal false;
    
regler._visible false;
    
regler._alpha 100;
    
hoch.arrow._alpha 50;
    
runter.arrow._alpha 50;
    
hintergrund._height Math.round (hoehe hoch._height 2);
    
reglermaske._height hintergrund._height;
    
runter._y hintergrund._height runter._height;
    
this.finstanz feld;
    if (
raktiv == true)
    {
        
setzeRahmen ();
    }
    
setzePruefer ();
    
setzeMausrad ();
}
Color.prototype.setzeFarbton = function (fp)
{
    
this.setRGB (f);
    var 
this.getTransform (), = (100 p) / 100;
    
this.setTransform ({ra:prb:t.rb rga:pgb:t.gb rba:pbb:t.bb r});
};
function 
setzeMausrad ()
{
    
maus_obj = new Object ();
    
maus_obj.onMouseWheel = function (delta)
    {
        if (
_level0._xmouse finstanz._x && _level0._xmouse finstanz._x finstanz._width)
        {
            if (
_level0._ymouse finstanz._y && _level0._ymouse finstanz._y finstanz._height)
            {
                
finstanz.scroll -= delta;
            }
        }
    };
    
Mouse.addListener (maus_obj);
}
function 
setzePruefer ()
{
    
regler.useHandCursor false;
    
regler.onRollOver = function ()
    {
        
this._alpha 100;
    };
    
regler.onRollOut = function ()
    {
        
this._alpha 100;
    };
    
regler.onPress = function ()
    {
        
this.startDrag (false000hintergrund._height this.balken._height);
        
signal true;
        
this._alpha 100;
    };
    
regler.onRelease = function ()
    {
        
this.stopDrag ();
        
this._alpha 100;
        
signal false;
    };
    
regler.onReleaseOutside = function ()
    {
        
this.stopDrag ();
        
signal false;
        
this._alpha 100;
    };
    
hoch.useHandCursor false;
    
hoch.onRollOver = function ()
    {
        
this.arrow._alpha 100;
    };
    
hoch.onRollOut = function ()
    {
        
this.arrow._alpha 50;
    };
    
hoch.onPress = function ()
    {
        if (
regler._visible)
        {
            
startScroll (-12);
        }
    };
    
hoch.onRelease = function ()
    {
        
stopScroll ();
    };
    
hoch.onDragOut = function ()
    {
        
stopScroll ();
        
this.arrow._alpha 50;
    };
    
runter.useHandCursor false;
    
runter.onRollOver = function ()
    {
        
this.arrow._alpha 100;
    };
    
runter.onRollOut = function ()
    {
        
this.arrow._alpha 50;
    };
    
runter.onPress = function ()
    {
        if (
regler._visible)
        {
            
startScroll (12);
        }
    };
    
runter.onRelease = function ()
    {
        
stopScroll ();
    };
    
runter.onDragOut = function ()
    {
        
stopScroll ();
        
this.arrow._alpha 50;
    };
    
this.onEnterFrame = function ()
    {
        
getPosition ();
        
reglerNachzeichnen ();
    };
}
function 
startScroll (schrittetempo)
{
    if (
tempo == undefined)
    {
        
tempo 2;
    }
    
signal true;
    
hintergrund.onEnterFrame = function ()
    {
        
regler._y += (schritte tempo);
        if (
regler._y 0)
        {
            
regler._y 0;
        }
        if (
regler._y hintergrund._height regler.balken._height)
        {
            
regler._y hintergrund._height regler.balken._height;
        }
    };
}
function 
stopScroll ()
{
    
signal false;
    
delete hintergrund.onEnterFrame;
}
function 
getPosition ()
{
    if (
signal)
    {
        var 
reglermax hintergrund._height regler.balken._height;
        var 
reglerpos regler._y;
        var 
prozent reglerpos 100 reglermax;
        var 
absolutepos prozent * (finstanz.maxscroll 1) / 100 1;
        
finstanz.scroll int (absolutepos);
    }
    else if (
regler._visible)
    {
        var 
zeilenpos = (finstanz.scroll 1) * 100 / (finstanz.maxscroll 1);
        var 
reglermax hintergrund._height regler.balken._height;
        
regler._y zeilenpos reglermax 100;
    }
}
function 
reglerNachzeichnen ()
{
    var 
relation = (finstanz.maxscroll + (finstanz.bottomScroll finstanz.scroll) - 1) / (finstanz.bottomScroll finstanz.scroll);
    var 
alteHoehe regler.balken._height;
    
regler.balken._height Math.round (hintergrund._height relation);
    if (
regler.balken._height 10 && regler.balken._height 0)
    {
        
regler.balken._height 10;
    }
    if (
regler.balken._height != alteHoehe)
    {
        
regler.linienNachzeichnen ();
    }
    if (
regler.balken._height hintergrund._height)
    {
        
regler._visible true;
    }
    else
    {
        
regler._visible false;
    }
}
function 
setzeRahmen ()
{
    
this.createEmptyMovieClip ("rahmen"1);
    
rahmen._y = -16;
    
rahmen.clear ();
    
rahmen.lineStyle (10x776655100);
    
rahmen.moveTo (0hintergrund._height hoch._height runter._height);
    
rahmen.lineTo (00);
    
rahmen.lineTo (hintergrund._width 10);
    
rahmen.lineTo (hintergrund._width 1hintergrund._height hoch._height runter._height);
    
rahmen.lineTo (0hintergrund._height hoch._height runter._height);
}
// Parameterwerte
if (reglerhoehe == 0)
{
    
init (_parent[_targetInstanceName]._height_parent[_targetInstanceName], rahmenaktiv);
}
else
{
    
init (reglerhoehe_parent[_targetInstanceName], rahmenaktiv);
}
farbe = new Color (this);
farbe.setzeFarbton (reglerfarbereglerfarbabstufung); 
Wer die Nuss knacken kann ist meiner ewigen Dankbarkeit gewiss.

Geändert von alter_ego (30-03-2007 um 22:09 Uhr)
alter_ego ist offline   Mit Zitat antworten
Alt 30-03-2007, 23:00   #2 (permalink)
FlashLove@FirstSight
 
Benutzerbild von FLASHStyler
 
Registriert seit: Feb 2003
Beiträge: 2.460
Ich würde den Mauszeiger nicht mit startDrag() machen, sonder per onMouseMove regeln:
ActionScript:
  1. m={};
  2. m.onMouseMove = function() {
  3.     mc._x = _root._xmouse;
  4.     mc._y = _root._ymouse;
  5.     updateAfterEvent();
  6. }
  7. Mouse.addListener(m);
FLASHStyler ist offline   Mit Zitat antworten
Alt 30-03-2007, 23:06   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 32
Du meinst der kollidiert irgendwie mit der stopDrag-Funktion des Scrollbalkens ? Die Idee kam mir vorhin zumindest.

Mit onMouseMove funktioniert es jetzt auf jeden Fall, danke für den Tip ! Würde einfach nur gerne wissen, warum es mit dem Drag nicht hinhaut, bevor ich darüber wieder nächtelang nicht schlafen kann....


Geändert von alter_ego (30-03-2007 um 23:38 Uhr)
alter_ego 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 20:06 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele