|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jun 2012
Сообщений: 40
|
Цитата:
myMap.addChild(new myPlayer()) //класс myPlayer потомок DisplayObject на экране не отобразиться? Добавлено через 4 минуты в чем код не верен? |
|
|||||
Регистрация: Jul 2007
Сообщений: 393
|
Вы добавляете класс mySprite, это невозможно.
Нужно добавлять объект-экземпляр класса. В вашем коде cellSprite-это объект, mySprite-класс. |
|
|||||
Регистрация: Jun 2012
Сообщений: 40
|
var cellSprite:Sprite; var myMap:Sprite = new Sprite(); var placeX:int = 0; for (var i:int = 0; i < 5; i++) { cellSprite = new mySprite();// mySprite наследник класса Sprite cellSprite.x = placeX; myMap.addChild(mySprite); placeX += 10; } этот код создает пять объектов, так ведь? или... и в конце концов переменная cellSprite будет ссылаться на последний, созданный циклом, экземпляр |
|
|||||
Регистрация: Mar 2009
Сообщений: 207
|
|
|
|||||
Регистрация: Jul 2007
Сообщений: 393
|
Нет, так неверно. Еще раз перечитайте.
|
|
|||||
Регистрация: Mar 2009
Сообщений: 207
|
Если вы планируете работать с этими объектами сохраните ссылки на них например в массив.
Добавлено через 1 минуту mySprite у вас - это имя Класса, его нельзя добавить в список отображения, можно только его экземпляр |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
чтобы просмотреть всех детей нужен такой код:
|
|
|||||
Регистрация: Jun 2012
Сообщений: 40
|
package { import flash.display.*; public class Main extends Sprite { public function Main():void { createMap(); } private function createMap():void { var placeX:int = 0; // Задаю начальную координату for (var i:int = 0; i < 5; i++) { // Рисую квадрат var square:Shape = new Shape(); square.graphics.lineStyle(1); square.graphics.beginFill(0xFF0000, 1); square.graphics.drawRect (0, 0, 25, 25); // Отображаю квадрат на заданной координату square.x = placeX; addChild(square); // Увеличиваю заданные координату placeX += 25; } //Двигаю последний добавленный квадрат var lastSquare:Shape = ( getChildAt ( numChildren - 1 ) as Shape ); lastSquare.x += 10; } } } |
|
|||||
endfill кто будет делать?
package { import flash.display.*; public class Main extends Sprite { public function Main():void { createMap(); } private function createMap():void { var placeX:int = 0; // Задаю начальную координату var square:Shape; for (var i:int = 0; i < 5; i++) { // Рисую квадрат square = new Shape(); square.graphics.lineStyle(1); square.graphics.beginFill(0xFF0000, 1); square.graphics.drawRect (0, 0, 25, 25); square.graphics.endFill(); // Отображаю квадрат на заданной координату square.x = placeX; addChild(square); // Увеличиваю заданные координату placeX += 25; } //Двигаю последний добавленный квадрат square.x += 10; // он просто остался в этой переменной, его никто не портил и ссылку не терял. } } }
__________________
:) |
Часовой пояс GMT +4, время: 19:30. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|