движене с actionscript

Dido_net

Registered
целя да движа 1 картинка на дясно и като тя свърши да тръгне да се движи наляво... засега това ми е кода, но като стигне 1000 се бъгва и.. нищо

Код:
onClipEvent(enterFrame) {
	speed = 1;
	
	trace(this._x);
	trace(" " + right);
	
	if(this._x <= 1000)
	{
		right = false;
	}
	else
	{
		right = true;
	}
	
	if(right == true)
	{
		this._x -= speed;
	}
	else
	{
		this._x += speed;
	}
}
 
Код:
 onClipEvent(load){
	var speed:Number=5;
	var goingLeft:Number=1;
}
onClipEvent(enterFrame){
	this._x+=goingLeft*speed;
	if(this._x>=1000 or this._x<=0)
		goingLeft*=-1;
}
 
Не се бъгва, така съм я направил да се движи ...
Каква е целта ?? Отива от ляво до дясно и като се върне в началното спира ?
miro91, със setInterval е безсмислено.
 
Dido_net каза:
@B13_Savage, бъгва се и върви наляво-надясно...
неговия код е добър движи се напред назад. ако искаш да ти дам със setInterval или обясни как точно искаш да се движи.
 
да отива до края на картинката.. като свърши да се връща на другия край, като свърши пак да обръща.. и така до безкрай
 
Dido_net каза:
да отива до края на картинката.. като свърши да се връща на другия край, като свърши пак да обръща.. и така до безкрай
Според мене това е дефиницията на "върви наляво-надясно" :shock: :shock: :!:
 
Е ..
Нали го направих да се движи наляво-надясно ..
След това ти каза, че бъгвало и се движело наляво-надясно.
След това те питах какво трябва ..
Ти с други думи ми каза, че трябва да се движи наляво-надясно.
Сега питаш как ще стане .. е нали ти казах как да се движи наляво-надясно.

Ако трябва да е друго, моля те дай всичко от себе си за да обясниш, че съвсем не разбирам!


miro91 каза:
Dido_net каза:
@B13_Savage, бъгва се и върви наляво-надясно...
неговия код е добър движи се напред назад. ако искаш да ти дам със setInterval или обясни как точно искаш да се движи.
Не се движи напред назад, движи се наляво надясно (разбира се, ако си си сложил монитора настрани, а не на нормалната си поставка се движи напред-назад ...)
Със сетИнтервал няма смисъл да се пише това.
 
добре... картинката е по-голяма от самия флаш файл, влача я докато не стигна края и, и после обратно докато не стигна другия край...
 
Dido_net каза:
та как ще стане? :/
неговия код работи пробвай го. при мен стана.
ето ти друг вариант
Код:
var speed:Number = 5;
var pat:String = forwand;
function moving() {
	if (pat == forwand) {
		obekt._x += speed;
		if (obekt._x >= 500) {
			pat = "back";
			trace(pat);
		}
	}
	else {
		obekt._x -= speed;
		if (obekt._x <= 110) {
			pat = forwand;
		}
	}
	trace(obekt._x);
}
dvijenie = setInterval(moving, 100);
като обекта който искаш да се движи му даваш instanse name = obekt или заместваш obekt с this и си го слагаш в муви клипа на обекта.
ето изтегли го и го отвори
http://4storing.com/links/o4o0r/b0c76144e8e7452cd970d86608fa6cc6
искаш такова.
 
Разбрах май ..
Код:
onClipEvent(load){ 
	var speed:Number=15;
   var goingLeft:Number=-1; 
} 
onClipEvent(enterFrame){ 

trace(this._x)
	if(this._x<(Stage.width-this._width) or this._x>0)
	goingLeft*=-1;
	
   this._x+=goingLeft*speed; 
    
}
Зависи обаче къде е сложен центъра на мууви клипа.
За този код трябва да е в най-левия край. Ето ти пример.
www.code-bg.com/wt/dido_net.swf
www.code-bg.com/wt/dido_net.fla

miro91 .. Прочети повече за типовете променливи във флаш :)
var s:String трябва да е равно на нещо оградено с кавички, освен ако не е присвояване ... etc.

Моля, старайте се да обяснявате по-добре какво искате ;)
 
B13_Savage каза:
Разбрах май ..
Код:
onClipEvent(load){ 
	var speed:Number=15;
   var goingLeft:Number=-1; 
} 
onClipEvent(enterFrame){ 

trace(this._x)
	if(this._x<(Stage.width-this._width) or this._x>0)
	goingLeft*=-1;
	
   this._x+=goingLeft*speed; 
    
}
Зависи обаче къде е сложен центъра на мууви клипа.
За този код трябва да е в най-левия край. Ето ти пример.
www.code-bg.com/wt/dido_net.swf
www.code-bg.com/wt/dido_net.fla

miro91 .. Прочети повече за типовете променливи във флаш :)
var s:String трябва да е равно на нещо оградено с кавички, освен ако не е присвояване ... etc.

Моля, старайте се да обяснявате по-добре какво искате ;)
да ама мисля че неиска това.
 
miro91 каза:
B13_Savage каза:
Разбрах май ..
Код:
onClipEvent(load){ 
	var speed:Number=15;
   var goingLeft:Number=-1; 
} 
onClipEvent(enterFrame){ 

trace(this._x)
	if(this._x<(Stage.width-this._width) or this._x>0)
	goingLeft*=-1;
	
   this._x+=goingLeft*speed; 
    
}
Зависи обаче къде е сложен центъра на мууви клипа.
За този код трябва да е в най-левия край. Ето ти пример.
www.code-bg.com/wt/dido_net.swf
www.code-bg.com/wt/dido_net.fla

miro91 .. Прочети повече за типовете променливи във флаш :)
var s:String трябва да е равно на нещо оградено с кавички, освен ако не е присвояване ... etc.

Моля, старайте се да обяснявате по-добре какво искате ;)
да ама мисля че неиска това.
Текущият ти пост не съдържа никаква информация. Защо да не го оставим той да каже, вместо да изказваме гаданията си и да спамим форума ?? Ако искаш да трупаш мнения помоли админа, като намери време ще бръкне в БД-то и ще ти сложи колкото ти е кеф ;)
 
Dido_net каза:
Не се получава... http://cod4.deadplay.eu/wt/test.fla
видя ли моя вариант. какво искаш обясни пак. просто да се движи наляво надясно така ли ?
 
Дългата картинка да се движи от дясно на ляво докато свърши... след това от ляво на дясно докато свърши... още ли не сте разбрали?
 
Dido_net каза:
Дългата картинка да се движи от дясно на ляво докато свърши... след това от ляво на дясно докато свърши... още ли не сте разбрали?
сега това правя като ти го направя ще едитна поста си.
 
AS2:

Скрипта трябва да се сложи на празен фрейм в нов леър най-отгоре в сцената,

---- Dido_net->Служебно име на картинката ти, дето ще я движиш.
Задължително MovieClip-a Dido_net, трябва да бъде с реален _х=0, и _y=0, на сцената, това става като му впишеш за x:0, y:0, в пропърти бара, е след това едитваш mc-то и напасваш.

speed Променлива която ще използвам за скорост, знаеш че този знак "-= " означава скорост по координата със знак минус тоест наляво, а --> "+=" -надясно.

//____________ Kod__________________________________
var speed:Number = 5;
onEnterFrame...Нещо което ще се случва през цялото време на анимацията:

onEnterFrame = function () {
Dido_net._x -= speed; Първоначално движа наляво...
if (Dido_net._x == Stage.width-Dido_net._width) {
speed = -5;
// тук е много важно!... Ако настоящия Х е равен на дължината на сцената мин. неговата собствена, което логично означава че обекта се намира крайно в дясно във видимата част-обръщам анимацията
}
if (Dido_net._x == 0) {
speed = 5;// Като свърши и пак си дойде на нула обратно....
}
updateAfterEvent(); // за да не сече .... :lol:
}
;
//____________ Kod__________________________________

:D
Ако съм се изразил правилно и си разбрал, аз анимирам като променям стойностите на speed с [+] или [-] пред 5-цата, а самата тя [5-цата] също може да е променлива, за удобство и да е по шокар... но така мисля че ще ти е по ясно какво се случва.
 

Горе