![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2006
Адрес: РБ, Уфа ...
Сообщений: 75
|
Хочу сделать зацыкленно плывущий объект на AS3
есть рабочий код на AS2: var n:Number = 4;
var i = 0;
while (i < n)
{
this.attachMovie("cloud", "c" + i, i, {_x: 800 * i, onEnterFrame: function ()
{
if (++this._x > 1600)
{
this._x = this._x - 800 * n;
}
}});
++i;
}
package
{
import flash.display.*;
import flash.events.*;
import flash.display.Sprite;
public class main extends Sprite
{
public function main()
{
var n:Number = 4;
var i:Number = 0;
while (i < n)
{
var clouds:cloud = new cloud()
this.addChild(clouds);
clouds.addEventListener(Event.ENTER_FRAME,enterFrame_handler);
}
++i;
}
private function enterFrame_handler(e:Event):void
{
x++;
if (x > 1600)
{
x = x - 800 * 4;
}
}
}
}
1. ругается на то что цикл (while) выполняется слишком долго... 2. как сделать динамическое название переменной в AS3 (как в примере на AS2 "c" + i )... p.s. может есть проще способ решить эту задачу? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
1. Потому что ++i вне цикла, а не внутри.
2. Задать name у cloud. з.Ы. Имена классов должны начинаться с прописной буквы, обязательно. |
|
|||||
|
Регистрация: May 2006
Адрес: РБ, Уфа ...
Сообщений: 75
|
1-е спасибо!
2-е не понял ... |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Регистрация: May 2006
Адрес: РБ, Уфа ...
Сообщений: 75
|
__etc спасибо
![]() решил по моему способом проще... не знаю правильно или нет но работает ![]() package
{
import flash.events.*;
import flash.display.Sprite;
public class main extends Sprite
{
public function main()
{
var clouds1:cloud = new cloud()
var clouds2:cloud = new cloud()
clouds1.x = 0;
clouds2.x = -800;
this.addChild(clouds1);
this.addChild(clouds2);
clouds1.addEventListener(Event.ENTER_FRAME,enterFrame_handler);
clouds2.addEventListener(Event.ENTER_FRAME,enterFrame_handler);
}
private function enterFrame_handler(e:Event):void
{
x++;
if (x == 800) x = 0;
}
}
}
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|