Welkom!

Deel je kennis met anderen in deze Flashgemeenschap!
Gebruikersnaam:
Wachtwoord:
Wachtwoord opslaan?
Wachtwoord vergeten?

ASD / Build-in Objects & Classes / MovieClip & Button

MovieClip.prototype.shake
4619 keer gelezen
(August 22, 2003)
Waardering: 5 keer gestemd 
 5 van de 5
Een prototype om een movieClip te laten bibberen. Een parameter meegeleverd, waarmee je de sterkte kan bepalen. Laat deze weg, of zet deze op 0, false,  undefined of null om het 'bibberen' te stoppen (logisch).
/* shake
Laat je movieClip 'bibberen'!
Geschreven door Rits, met dank aan [m]!
*/


// definieer de functie, met als parameter 'm'
MovieClip.prototype.shake = function(m)
{
    // controleer of m gelijk is aan false, 0 of undefined
    if (!m)
    {
        // verwijder de 'bibber' functie
        delete this.t.onEnterFrame;
        // zet de mc terug op oorspronkele positie
        this._x = s.x;
        this._y = s.y;
    }
    else
    {
        // maak een nieuwe movieClip aan
        var s = this.createEmptyMovieClip("t", 99999);
        // definieer een variabele om terug te kunnen keren
        s.x = this._x;
        s.y = this._y;
        
        // maak de 'bibber' functie aan
        s.onEnterFrame = function()
        {
            // maak nieuwe random variabelen aan
            x = Math.random() * m;
            y = Math.random() * m;
            
            // pas de variabelen toe op de posities
            this._parent._x = this.x - x / 2 + x;
            this._parent._y = this.y - y / 2 + y;
        };
    }
};

/* Gebruik */

mc.onRollOver = function()
{
    this.shake(i++);
}
mc.onRollOut = function()
{
    this.shake();
}

 

Versie van Tha Narie:

MovieClip.prototype.shake = function(value)
{
    if(value)
    {
        // sla orginele positie op
        this.orgX = this._x;
        this.orgY = this._y;
        
        this.onEnterFrame = function()
        {
            // beweeg random 'value' pixels vanaf het originele punt af
            this._x = this.orgX + Math.random() * (value*2) - value;
            this._y = this.orgY + Math.random() * (value*2) - value;
        }
    }
    else
    {
        // zet alles weer terug naar origineel
        delete this.onEnterFrame;
        this._x = this.orgX;
        this._y = this.orgY;
    }
};
Geef hier je waardering: Matig 1 2 3 4 5 Geweldig!
  Waardering:
Download ( meld je eerst aan om te kunnen downloaden! )
Waarom is mijne dan goedgekeurd Rits - (26 August 2003, 21:12)
Waarom heb jij dan niet alleen jouwe geplaatst, maar ook de mijne? Mijne staat daar nu een beetje voor piet lul!
RE: Waarom is mijne dan goedgekeurd Narie Kanarie (26 August 2003, 21:33)
Jah dat is altijd een dillemma ;)
De meeste scripts die er komen te staan kunnen wel beter, dus dan zou ik elk script die gepost wordt kunnen verbeteren en alleen de mijne neerzetten, maar dat zou niet leuk zijn.
En het is ook niet gepast als ik zomaar jou versie weg haal, dus daarom heb ik jouwe er laten staan..
Want als andere personen een beter versie maken, op dit moment, komt die er ook weer onder te staan, daarom heb ik het ook gewoon zo gedaan
Anders Narie Kanarie (24 August 2003, 21:03)

Ik heb even mijn versie er bij gezet, deze had ik al eerder eens gemaakt. Jou versie gaat verschuiven naar rechtsonder als je er over en af gaat.
Ook gebruikt mijn versie geen lege MC om dingen in op te slaan, maar slaat alleen de originele X en Y op.


1-3