![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+4 06.05.14]
|
Очень плохо, все очень плохо. Я показал как надо сделать, чтобы было читабельно, понятно и сам потом смог разобраться.
1) эмбеды всегда делаются в $cinit , а не в методах классов 2) аддчайлды надо делать извне, а не внутри каждого метода 3) координаты там же. У вас должна быть такая вот реализация ( например в main )
__________________
Марк Tween |
|
|||||
|
Регистрация: Apr 2014
Сообщений: 97
|
Основной класс:
package { /** * ... * @author Scorpion */ import flash.events.*; import flash.display.*; import flash.text.*; import classes.*; public class Main extends Sprite { public function Main() { if (stage) start(); else addEventListener(Event.ADDED_TO_STAGE, start); } private function start(): void { var imgBackground: Bitmap = Image.addImage(0, 0, 1); addChild(imgBackground); } } } package classes { /** * ... * @author Scorpion */ import flash.events.*; import flash.display.*; [Embed(source = "../../img/background.png")] [Embed(source = "../../img/head.png")] [Embed(source="../../img/menuline.png")] public class Image extends Sprite { public static function addImage(i1: int, i2: int, i3: int): Bitmap { switch(i3) { case 1: return Embed1; case 2: return Embed2; case 3: return Embed3; } var image: Class; var newImage: Bitmap = new image(); newImage.x = i1; newImage.y = i2; } } } |
|
|||||
|
Регистрация: Apr 2014
Сообщений: 97
|
Сделал так:
package classes { /** * ... * @author Scorpion */ import flash.events.*; import flash.display.*; [Embed(source = "../../img/background.png")] private const Embed1:Class; [Embed(source = "../../img/head.png")] private const Embed2:Class; [Embed(source="../../img/menuline.png")] private const Embed3:Class; public class Image extends Sprite { public static function addImage(i1: int, i2: int, i3: int): Bitmap { switch(i3) { case 1: return new Embed1() as Bitmap; case 2: return new Embed2() as Bitmap; case 3: return new Embed3() as Bitmap; } var image: Class; var newImage: Bitmap = new image(); newImage.x = i1; newImage.y = i2; } } } |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Зачем Вы их объявляете вне тела Класса?
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2014
Сообщений: 97
|
Ой, тупанул. Ставлю в класс:
package classes { /** * ... * @author Scorpion */ import flash.events.*; import flash.display.*; public class Image extends Sprite { [Embed(source="../../img/background.png")] private const Embed1:Class; [Embed(source = "../../img/head.png")] private const Embed2:Class; [Embed(source = "../../img/menuline.png")] private const Embed3:Class; public static function addImage(i1: int, i2: int, i3: int): Bitmap { switch(i3) { case 1: return new Embed1() as Bitmap; case 2: return new Embed2() as Bitmap; case 3: return new Embed3() as Bitmap; } var image: Class; var newImage: Bitmap = new image(); newImage.x = i1; newImage.y = i2; } } } case 2: return new Embed2() as Bitmap; case 3: return new Embed3() as Bitmap; а так же function does not return a value |
|
|||||
|
[+4 06.05.14]
|
package classes { /** * ... * @author Scorpion */ import flash.events.*; import flash.display.*; public class Image extends Sprite { [Embed(source="../../img/background.png")] private const Embed1:Class; [Embed(source = "../../img/head.png")] private const Embed2:Class; [Embed(source = "../../img/menuline.png")] private const Embed3:Class; public static function addImage(id: int): Bitmap { switch(id) { case 1: return new Embed1() as Bitmap; case 2: return new Embed2() as Bitmap; case 3: return new Embed3() as Bitmap; } return null; } } } ------------------------------------ var img1:Bitmap = Image.addImage(1); addChild(img1); img1.x = 100;
__________________
Марк Tween |
|
|||||
|
Регистрация: Apr 2014
Сообщений: 97
|
Скопировал в точности ваг код.
call to a possibly undefined method Embed1 пишет (для второго и третьего Ембеда тоже это байда). |
|
|||||
|
Если вы хотите именно этим способом, тогда
package classes { import flash.display.Bitmap; public class Images { [Embed(source = "../../images/img1.jpg")] private static var Embed1:Class; [Embed(source = "../../images/img2.png")] private static var Embed2:Class; public static function addImage(image_id:int, xPos:int=0, yPos:int=0):Bitmap { var img:Bitmap; switch (image_id) { case 1: img = new Embed1(); break; case 2: img = new Embed2(); break; default: return null; } img.x = xPos; img.y = yPos; return img; } } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:12. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|