Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Импорт классов из загруженной SWF. (http://www.flasher.ru/forum/showthread.php?t=177351)

przrak 30.03.2012 08:09

Импорт классов из загруженной SWF.
 
Добрый день, перерыл уже кучу информации, но никак не могу решить задачку.
Я делаю игру PixelShooter. Программирую в IntelliJ IDEA на as 3.0. Всем известно, что для качественной игры различные объекты (в моем случае космический корабль пришельцев) можно нарисовать в Adobe Flash Professional, а затем загрузить в проект, разрабатываемый на IDEA.
В Adobe Flash Professional я создал проект fla, нарисовал космический корабль, создал из него символ, обозвав enemy. В свойствах объекта я поставил галочку "Export for ActionScript" и класс назвал EnemyImage. Базовый класс MovieClip. Далее я создал swf файл с моим космическим кораблем.

В проект на IDEA я импортирую swf файл следующим образом:
Код AS3:

 
public class Game extends MovieClip {
[Embed(source="../source/resources/shooter.swf", symbol="EnemyImage")]
private var _EnemyImage:Class;
 
public function makeEnemies():void {
            var chance:int = Math.floor(Math.random() * 100);
            var tempEnemy:MovieClip;
            if (chance < 2 + level) {
                tempEnemy = new _EnemyImage as MovieClip;
                tempEnemy.speed = 1 + level;
                tempEnemy.y = -25;
                tempEnemy.x = Math.floor(Math.random() * 515);
                addChild(tempEnemy);
                enemies.push(tempEnemy);
            }
        }
}

Выходит вот такая ошибка:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at Game/makeEnemies()[C:\ideaProject\PixelShooter\media\Game.as:147]

147 строка это строка:
tempEnemy.speed = 1 + level; // в этой строке я задаю динамической свойство speed.


P.S. читал что можно грузить swf полностью в проект и пользоваться всеми классами, находящимися внутри, пробовал реализовать - не получилось, может кто-нибудь помочь?

Fillini 30.03.2012 10:34

getDefinitionByName - читайте про это.


Часовой пояс GMT +4, время: 17:26.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.