Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-01-2007, 23:06   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2002
Ort: bei Karlsruhe
Beiträge: 199
Alphawert zufällig ändern

ich änderen den Alphawert eines MC mit folgendem Code:
Code:
_alpha = random(100);
Das Problem ist, dass sich der Alphawert sehr schnell/flackernd ändert, ich hätte das gerne langsam. Kann mir jmd sagen, wie ich das machen könnte? Vielen Dank
native ist offline   Mit Zitat antworten
Alt 10-01-2007, 23:17   #2 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
mit onEnterFrame oder setInterval zb
__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 10-01-2007, 23:25   #3 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
PHP-Code:
wasAuchImmer.onPress = function() {
    
randy random(100)+1;
    
_global.interval setInterval(SmoothFade500,_root.wasAuchImmer2);
};
function 
SmoothFade(wer) {
    var 
diff = -wer._alpha+randy;
    if (
Math.round(Math.abs(diff))>0) {
        
wer._alpha += Math.round(diff/15);
        
//"15" kann man ändern
        
if ((diff/15)<1) {
            
trace("JA");
            
clearInterval(_global.interval);
        }
    }

__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (11-01-2007 um 06:23 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 10-01-2007, 23:29   #4 (permalink)
Neuer User
 
Registriert seit: Sep 2002
Ort: bei Karlsruhe
Beiträge: 199
Vielen Dank erstmal.

Könntest Du mir kurz erklären, was da passiert? Ich würde es gerne verstehen, nicht nur kopieren. Und wohin kommt der Code, Hauptzeitleiste oder MC?

Geändert von native (10-01-2007 um 23:35 Uhr)
native ist offline   Mit Zitat antworten
Alt 11-01-2007, 06:23   #5 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
also, da wird eine funktion intervallmäßig aufgerufen, sobald ein "etwas" geklickt wird; und die funktion ist halt das faden zu einem randomisierten wert zwischen 1-100; sobald der wert so gut wie erreicht wurde, also die differenz zwischen zielwert und altem wert, wird dieses intervall gelöscht;
das diviediert/15 verzögert die näherung an den zielwert;
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 11-01-2007, 09:38   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2002
Ort: bei Karlsruhe
Beiträge: 199
ok, so ein bischen versteh ich das. Könntest Du mir noch einen Tipp geben, wie ich das in mein bestehendes Konzept einbaue:
ausgehend von Kirupa's Tutorial habe ich folgenden Code in der Hauptzeitleiste:
Code:
function getdistance (x, y, x1, y1) {
	var run, rise;
	run = x1-x;
	rise = y1-y;
	return (hyp(run, rise));
}
function hyp (a, b) {
	return (Math.sqrt(a*a+b*b));
}
MovieClip.prototype.reset = function () { 
var dist, norm, movie_height, movie_width;


//   movie_height: refers to the height of your movie
//   movie_width: refers to the width of your movie

//--------------------------------------------

movie_height = 350;
movie_width = 150;

//--------------------------------------------


speed = Math.random()*1.5+1;
targx = Math.random()*(movie_width-_width);
targy = Math.random()*(movie_height-_height);
dist = _root.getdistance(_x, _y, targx, targy);

norm = speed/dist;
diffx = (targx-_x)*norm;
diffy = (targy-_y)*norm;
};


MovieClip.prototype.move = function () { 
var cycle;



// cycle: specifies speed of the movement. The smaller 
//         number, the faster the objects move.

//--------------------------------------------

cycle = 20;

//--------------------------------------------

if (_root.getdistance(_x, _y, targx, targy)>speed) {x += diffx;y += diffy;
} else {x = targx;
y = targy;
if (!this.t) {
t = getTimer();
}if (getTimer()-t>cycle) {reset();
t = 0;
}
}
_x = x;
_y = y;
}
dann mehrere MCs mit diesem Code:
Code:
onClipEvent (enterFrame) {
	move();
}
diese MCs sollen nun eben während der Bewegung ihren Alphawert ändern. Sorry für das viele Fragen, aber ich habe noch kaum Ahnung von AS.
native 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 08:08 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele