A
ad86
Guest
AW: Smoothing von Text (CS5 / AS3) / An ssandner
Hi,
auch wenn ich nicht Stephan bin
Mit dem folgendes Script, bekommst Du eine Zufallszahl, wo eine Wiederholung einer Zahl nur dann auftritt, wenn das randomArray neuinitialisiert werden muss (aber auch das ist abgefangen)
Mit dem (angedachten) Script von Dir bzw. ssander, wäre auch folgendes passiert: 0-1-0-1-0
Bei mir kann es nicht passieren (Es sei denn zu veränderst das Script)
Ich hoffe es hilft Dir.
Mfg ad86
Hi,
auch wenn ich nicht Stephan bin
Mit dem folgendes Script, bekommst Du eine Zufallszahl, wo eine Wiederholung einer Zahl nur dann auftritt, wenn das randomArray neuinitialisiert werden muss (aber auch das ist abgefangen)
Mit dem (angedachten) Script von Dir bzw. ssander, wäre auch folgendes passiert: 0-1-0-1-0
Bei mir kann es nicht passieren (Es sei denn zu veränderst das Script)
Code:
var lengthOfArray:uint=3;//Wieviel Zufallszahlen es gibt
var lastRandomNumber:uint;//speichert letzte Zufallszahl
var randomArray:Array;//Das Array, welches alle moeglichen Zufallszahlen hat
//ResetArray aufrufen, um das Array zum ersten Mal zu befühlen
resetRandomArray();
//Reset the Array, enthält somit wieder alle Zahlen von 0 bis 3 (die drei nicht eingeschlossen);
function resetRandomArray():void{
//Mochtest Du Zufallszahlen von 5 -8, muesstest Du beim push i+5 schreiben
randomArray=new Array();
for (var i:int=0;i<lengthOfArray;i++){
randomArray.push(i);
}
}
//Liefert dir eine Zahl zwischen 0 und lenkt of Array-1, z.B. lenghtOfArray=3 dann ist die Zahl eine 0, 1 oder 2.
function getRandomNumber():int{
if (randomArray.length==0){
resetRandomArray();
}
var rand:int=Math.floor(Math.random()*randomArray.length);
if (lastRandomNumber==rand){
if (rand==randomArray.length-1){
rand=0;
}
else{
rand++;
}
}
lastRandomNumber=randomArray[rand];
randomArray.splice(rand,1);
return lastRandomNumber;
}
//Deine Funktion
function grosses_bild_schliessen():void{
switch(getRandomNumber()){
case 0: Tweener.addTween(mc_bild_gross, {x: -510, scaleX: 0, scaleY: 0, y: Math.random() * 350 + 5, time: 1.2, transition: "linear", onComplete: grosses_bild_entfernen});
break;
case 1: Tweener.addTween(mc_bild_gross, {x: -1200, y: 250, scaleX: 0.4, scaleY: 0.4, time: 1.7, transition: "linear", onComplete: grosses_bild_entfernen});
break;
case 2: Tweener.addTween(mc_bild_gross, {x: 120, y: 90, height: 180, width: 240, time: 0.4, transition: "linear"});
Tweener.addTween(mc_bild_gross, {x: -120, y: 280, _bezier:[{x: 804.5, y: 89.5}, {x: 804.75, y: 227.75}], time: 1.5, transition:"linear", delay: 0.4, onComplete: grosses_bild_entfernen});
break;
//default:
//Sollte weder 0, 1, noch 2 sein, wuerde er den default-Wert ausfuehren, wenn Du einen haettest
}
}
Ich hoffe es hilft Dir.
Mfg ad86
Zuletzt bearbeitet von einem Moderator: