setIntervall & random

andyologic

Grünschnabel
hi die Herren und Damen Flasher,

ich hab ein Problem. Ich möchte eine function(); schreiben in der ich einen MC wabern lassen kann. Sprich zu einer willkürlichen zeit - zwischen 1er und 20 sekunden vielleicht, den clip auf ein unbestimmtes alpha setzen, zwischen 40% und 65% und ihn wieder einfaden zu lassen.

hab bis jetzt nur mit enterFrame und nicht mit setInterval gearbeitet und auch noch nie random benutzen müssen. Vielleicht können mir hier ja ein paar Cracks weiterhelfen. Ich würde gerne einen Code reinstellen jedoch bin ich noch nicht sehr weit gekommen. Werd aus meinen Büchern nicht schlau.

Ja natürlich, bevor jemand fragt, hätt ich noch gern nen Porsche dazu und ein Haus und usw... :-(



Handelt sich übrigens um vorzugsweise AS 2 - Flash Mx 2004. Nicht Pro ^^ das hab ich nur in der Arbeit. Wenns nötig wär, müsst ichs dann am Montag halt machen.
Würde mich freuen wenn ich hier Hilfe finden würde
ThxAlot
Andy
 
Hi,

PHP:
var iv = setInterval(function() { wobble(); }, int(Math.random() * 2000) + 1000);

function wobble() {
	clearInterval(iv);
	iv = setInterval(function() { wobble(); }, int(Math.random() * 2000) + 1000);
	clip._alpha = Math.random() * 100;
	this.onEnterFrame = function() {
		clip._alpha += (100 - clip._alpha) / 5;
		if (clip._alpha > 99) {
			clip._alpha = 100;
			delete this.onEnterFrame;
		}
	}
}

Gruß ^^
.
 
superschnelle Antwort, danke. Aber ich steh jetzt auf´m Schlauch. Es wobbelt nicht. Ich hab den Code in die _root timeline eingefügt und im clip selbst halt einfach wobble(); stehn. Sollte doch eigentlich funktionieren.
Ich wusste ich hätte beim Zeichnen bleiben sollen.
Gruß
Andy
 
Hi,

1. Der MovieClip muss den Instanznamen "clip" haben.

2. Du brauchst wobble() nicht in den Clip selber einzufügen.

3. Wenn es immer noch nicht geht, poste bitte mal Deine Datei.

Gruß
.
 
mann, ich bin bescheuert. Hab vergessen dass der Clip in nem weiteren liegt und den target path vergessen.
Ok, und wie loope ich das , sodass es wie ein tween wirkt?
Also ich muss sagen ich bin Zeichner ^^ , hab von Actionscript nicht viel Ahnung. sieht man ja an der Datei. Deswegen auch kein Pro zugänglich ;). Aber ich saug alles auf was ich finden kann. Hab mir schon von lynda CDs bestellt. Apropos, jemand ne Ahnung wie die sind ? Die Photoshop CDs waren für mich nie was neues.

Egal, Portfolio links oben soll ein- und ausfaden. Und lacht euch nicht kringelig weil, wie gesagt, in Sachen AS :-( Neuling.
Aber wenn jemand Illustrationen braucht -.-

Portfolio befindet sich im Layer Portfolio im Clip PortfolioFade und trägt den Instanznamen Clip. Das Ganze ist ein swf was später extern in die Masterseite eingebettet wird.
Code wurde ganz unten im Layer a in der Hauptzeitleiste eingefügt.

Thx Again
Gruß
Andy
 
argh , datei ist zu groß , also wie gesagt: Funktioniert schon , jetzt müsste es nur noch faden. Also im Grunde irgendwie loopen

sorry habs übersehn dass er sie nicht hochgeladen hat.
 
Hi,

was soll nun von wo und wohin faden? So wie ich es verstanden habe, soll der Clip sprunghaft auf einen zufälligen Alphawert gesetzt werden und von dort aus langsam zurück nach 100% faden - und genau das macht mein Script ( auch wenn man an der Geschwindigkeit noch was ändern könnte ).

.... oder soll sich das Ding auch auf die Zufallswerte sanft hinbewegen? Auch kein Problem, wäre aber ein etwas anderes Script.

Gruß
.
 
dein script ist super wirklich , funktioniert tadellos ^^

Aber genau, dieses sanfte hinbewegen - also marke "tween" eben, war was ich eigentlich im sinn hatte.
Sorry, dass ich mich falsch ausgedrückt habe. Wäre nett wenn du das script noch erweitern könntest. So etwas ähnliches wie du gepostet hattest, hat ich auch schon aber nicht wirklich so sauber und funktionierend.
Wär nett wenn du mir noch weiter helfen könntest
Gruß Andy
 
Hi,

ein etwa so?
Code:
var iv = setInterval(function() { wobble(); }, int(Math.random() * 2000) + 1000);

function wobble() {
	clearInterval(iv);
	iv = setInterval(function() { wobble(); }, int(Math.random() * 2000) + 1000);
	clip.adest = Math.random() * 100;
	clip.acc = 3;
}

this.onEnterFrame = function() {
	clip._alpha += (clip.adest - clip._alpha) / clip.acc;
	if (Math.abs(clip.adest - clip._alpha) < 1) {
		if (clip.adest != 100) {
			clip.adest = 100;
			clip.acc = 20;
		}
	}
}
In clip.acc = 3; stellst Du die Geschwindigkeit beim Ausfaden ein und hier clip.acc = 20; die beim Einfaden.

Gruß
.
 
Du bist echt ein fuchs!
I highly appreciate your usw...
Nein echt, danke! ich kenn die klassen acc und adest garnicht :-( .

Naja , wie gesagt danke nochmal. Und - schlaf doch mal ^^

Gruß
Andy
 
Zurück