Horizontale zufällige Bewegung

Theoretisch ja. Der Strich fährt auch an die gewünschte Position allerdings bleibt er nicht an der gewünschten Stelle stehen sondern ruckelt hin und her, immer im Bereich der speedgröße. Ich weiß auch etwa woran es liegt, nur wie ich das abstell weiß ich noch nich :confused:
 
Ach so. ^^

Ok, versuchs mal so:
Code:
this.onEnterFrame = function() {
	if (Math.abs(strich._x + this._x - dx) <= speed) strich._x = dx - this._x;
	if (strich._x + this._x < dx) {
		strich._x += speed;
		if (strich._x + this._x >= dx) dx = int(Math.random() * (maxx - minx)) + minx;
	} else if (strich._x + this._x > dx) {
		strich._x -= speed;
		if (strich._x + this._x <= dx) dx = int(Math.random() * (maxx - minx)) + minx;
	} else {
		dx = int(Math.random() * (maxx - minx)) + minx;
	}
	if (_parent._framesloaded >= _parent._totalframes) dx = 200;
}
(Ist auf die Schnelle eingefügt, daher länger als nötig)

Gruß
.
 
Klappt auch nich immer.
Naja ich werd mich morgen nochmal in Ruhe dransetzen. Wird schon irgendwie hinhauen.
Trotzdem nochmal ein großes Dankeschön.
 
Irgendwie will das alles nicht so wie ich will.
Aber ich meine zu glauben, dass das irgendwas mit negativen Werten zu tun hat.
 
Hmm, bei mir funktionierte es.

Jedenfalls: Folgende Version sollte auf jeden Fall funktionieren ^^
Code:
function init(flag) {
	if (_parent._framesloaded >= _parent._totalframes) {
		return 200;
	} else {
		return int(Math.random() * (max - min)) + min;
	}
}

var min = 150;
var max = 350;
var speed = 3;
var dx = init();

this.onEnterFrame = function() {
	if (strich._x - (dx - this._x) <= -speed) {
		strich._x += speed;
	} else if (strich._x - (dx - this._x) >= speed)  {
		strich._x -= speed;
	} else {
		strich._x = dx - this._x;
		dx = init();
	}
}

Gruß

P.S.: Ich würde an Deiner Stelle lieber mit getBytesLoaded() und getBytesTotal() statt _totalframes arbeiten; vielleicht klappt das besser.
.
 
Mit einem Strich klappt das hervorragend, nur mit dreien nich...
wahrscheinlich stell ich mich auch nur zu blöd an :confused: . Hab die fla mal angehängt.
 

Anhänge

  • test.zip
    6,6 KB · Aufrufe: 16
Das ist falsch:
Code:
if (eins._x - (dxb - eins._x) <= -speedb) {
Du willst ja die Position des ani-Clips mit einberechnen, daher wäre das in diesem Fall:
Code:
if (eins._x - (dxb - eins._parent._x) <= -speedb) {
(für die beiden anderen Balken dementsprechend auch)

Gruß
.
 

Neue Beiträge

Zurück