Цитата:
Сообщение от BlooDHounD
П.С.: обычно в этом разделе спрашивают о проблемах, а не просят сделать всё за них.
|
Я подумал что проще будет сделать все, чем обьяснять мне каждую проблему. Но в таком случае, я выложу до чего дошел.
Цитата:
Сообщение от wvxvw
Если вы код, как есть перенесете в класс-файл, оформите его в класс, привяжете его к клипу в библиотеке, замените свойства с подчерком на аналогичные из АС3, swapDepth() на swapChildrenAt(), attachMovie() на addChild(new SomeMyMenuItem()), замените обработчики событий на функции слушающие соответствующие события - по идее будет работать.
Из недостатков этого: кода - t лучше было объявить вне функции. Использовать обращения к свойствам там, где нужно быстро посчитать - не продуктивно. Нет никакой необходимости динамически создавать свойства. Нет типизации.
|
Спасибо за совет. Пробовал еще до создания этой темы, но не получалось. Не мог из

Код:
var t = this.attachMovie("ball","b"+i,i+1);
сделать такое же с addChild(), ибо я так понял что по цыклу создается несколько "ball" только каждому дается имя "b"+i. Так вот думал я, искал, читал, придумал как такое сделать, но незнал правильно ли, потому что компилить не мог из-за еще ошибок. Но теперь исходя из подсказки "attachMovie() на addChild(new SomeMyMenuItem())" вижу что не то делал.
Вот что я сделал: На таймлайне пусто, в библиотеке есть мувиклип "item" которому присвоен несуществующий класс main.Item, Document class: main.Carousel.
Вот сам main.Carousel, но он сделан до той степени до какой смог:

Код:
package main{
import flash.display.MovieClip;
import flash.events.*;
public class Carousel extends MovieClip{
var numOfItems:Number = 1;
var radiusX:Number = 250;
var radiusY:Number = 75;
var centerX:Number = stage.stageWidth/2;
var centerY:Number = stage.stageHeight/2;
var speed:Number = 0.05;
function Carousel(){
for (var i=0; i<numOfItems; i++){
var t = this.addChild(new Item()); //Скорей всего это неправильно, но незнаю как правильно
t.angle = i * ((Math.PI*2)/numOfItems);
t.addEventListener(Event.ENTER_FRAME, mover);
}
}
private function mover(){
//Тут нечто изменил, но пока незнаю правильно ли, ибо еще не дошел. Пробовал компилить, ошибки выдает по поводу angle.
/*this.x = Math.cos(this.angle) * radiusX + centerX;
this.y = Math.sin(this.angle) * radiusY + centerY;
var s = this.y /(centerY+radiusY);
this.xscale = this.yscale = s*100;
this.angle += this(parent).speed;
this.swapChildrenAt(Math.round(this._xscale) + 100);*/
}
}
}
Ну вот, теперь все за меня делать не придется, остается только поправить.

Помогите пожалуйста разобратся.