движене с actionscript

Уроци и разработки по FLASH и Action Script
Dido_net
Много Редовен
Много Редовен
Posts: 1569
Joined: Sat Oct 01, 2005 12:43 pm
Answers: 16
Location: Хасково

Post by Dido_net » Sat Dec 06, 2008 4:47 pm

добре... картинката е по-голяма от самия флаш файл, влача я докато не стигна края и, и после обратно докато не стигна другия край...

miro91
Гуру
Гуру
Posts: 2265
Joined: Tue Apr 24, 2007 4:16 pm
Answers: 157
Location: Тутракан

Post by miro91 » Sat Dec 06, 2008 4:51 pm

Dido_net wrote:та как ще стане? :/

неговия код работи пробвай го. при мен стана.
ето ти друг вариант

Code: Select all

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 &#40;obekt._x <= 110&#41; &#123;
			pat = forwand;
		&#125;
	&#125;
	trace&#40;obekt._x&#41;;
&#125;
dvijenie = setInterval&#40;moving, 100&#41;;
като обекта който искаш да се движи му даваш instanse name = obekt или заместваш obekt с this и си го слагаш в муви клипа на обекта.
ето изтегли го и го отвори
http://4storing.com/links/o4o0r/b0c7614 ... 6608fa6cc6
искаш такова.

User avatar
B13_Savage
Много Редовен
Много Редовен
Posts: 1893
Joined: Sat Sep 09, 2006 11:55 am
Answers: 81
Contact:

Post by B13_Savage » Sat Dec 06, 2008 5:04 pm

Разбрах май ..

Code: Select all

onClipEvent&#40;load&#41;&#123; 
	var speed&#58;Number=15;
   var goingLeft&#58;Number=-1; 
&#125; 
onClipEvent&#40;enterFrame&#41;&#123; 

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

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

Моля, старайте се да обяснявате по-добре какво искате ;)

miro91
Гуру
Гуру
Posts: 2265
Joined: Tue Apr 24, 2007 4:16 pm
Answers: 157
Location: Тутракан

Post by miro91 » Sat Dec 06, 2008 5:14 pm

B13_Savage wrote:Разбрах май ..

Code: Select all

onClipEvent&#40;load&#41;&#123; 
	var speed&#58;Number=15;
   var goingLeft&#58;Number=-1; 
&#125; 
onClipEvent&#40;enterFrame&#41;&#123; 

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

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

Моля, старайте се да обяснявате по-добре какво искате ;)

да ама мисля че неиска това.

User avatar
B13_Savage
Много Редовен
Много Редовен
Posts: 1893
Joined: Sat Sep 09, 2006 11:55 am
Answers: 81
Contact:

Post by B13_Savage » Sat Dec 06, 2008 5:16 pm

miro91 wrote:
B13_Savage wrote:Разбрах май ..

Code: Select all

onClipEvent&#40;load&#41;&#123; 
	var speed&#58;Number=15;
   var goingLeft&#58;Number=-1; 
&#125; 
onClipEvent&#40;enterFrame&#41;&#123; 

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

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

Моля, старайте се да обяснявате по-добре какво искате ;)

да ама мисля че неиска това.

Текущият ти пост не съдържа никаква информация. Защо да не го оставим той да каже, вместо да изказваме гаданията си и да спамим форума ?? Ако искаш да трупаш мнения помоли админа, като намери време ще бръкне в БД-то и ще ти сложи колкото ти е кеф ;)

Dido_net
Много Редовен
Много Редовен
Posts: 1569
Joined: Sat Oct 01, 2005 12:43 pm
Answers: 16
Location: Хасково

Post by Dido_net » Sat Dec 06, 2008 9:31 pm

Не се получава... http://cod4.deadplay.eu/wt/test.fla

miro91
Гуру
Гуру
Posts: 2265
Joined: Tue Apr 24, 2007 4:16 pm
Answers: 157
Location: Тутракан

Post by miro91 » Sat Dec 06, 2008 10:43 pm

Dido_net wrote:Не се получава... http://cod4.deadplay.eu/wt/test.fla

видя ли моя вариант. какво искаш обясни пак. просто да се движи наляво надясно така ли ?

Dido_net
Много Редовен
Много Редовен
Posts: 1569
Joined: Sat Oct 01, 2005 12:43 pm
Answers: 16
Location: Хасково

Post by Dido_net » Sat Dec 06, 2008 11:04 pm

Дългата картинка да се движи от дясно на ляво докато свърши... след това от ляво на дясно докато свърши... още ли не сте разбрали?

miro91
Гуру
Гуру
Posts: 2265
Joined: Tue Apr 24, 2007 4:16 pm
Answers: 157
Location: Тутракан

Post by miro91 » Sat Dec 06, 2008 11:22 pm

Dido_net wrote:Дългата картинка да се движи от дясно на ляво докато свърши... след това от ляво на дясно докато свърши... още ли не сте разбрали?

сега това правя като ти го направя ще едитна поста си.

User avatar
huanitomuerte
Нов
Нов
Posts: 192
Joined: Thu Jun 19, 2008 1:22 pm
Answers: 16
Location: София
Contact:

Post by huanitomuerte » Sat Dec 06, 2008 11:33 pm

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-цата] също може да е променлива, за удобство и да е по шокар... но така мисля че ще ти е по ясно какво се случва.
Last edited by huanitomuerte on Sun Dec 07, 2008 12:17 pm, edited 24 times in total.

Post Reply