![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2012
Сообщений: 101
|
package windows { import flash.display.*; import flash.text.*; import flash.utils.*; import flash.events.*; public class BaseWindows extends MovieClip { public var type:String; static var win:MovieClip = new BaseWindow(); public function BaseWindows(type) { switch(type) { case "castl": trace("Замок"); this.addChild(win); win.x = 500 - win.width / 2; win.y = 500 - win.height / 2; win.btnClose.addEventListener(MouseEvent.CLICK, closeWindow); break; case "farm": trace("Ферма"); this.addChild(win); win.x = 500 - win.width / 2; win.y = 500 - win.height / 2; win.btnClose.addEventListener(MouseEvent.CLICK, closeWindow); break; } } private function closeWindow(event:MouseEvent) { removeChild(win); } } } выскакивает ошибка 1120: обращение несуществующего свойства. Как же правильно записать параметр? |
|
|||||
|
Во-первых придумайте другое название вместо type, так как это зарезервированное слово.
Во-вторых почему вы не передаёте параметр здесь? Ведь конструктор у вас с параметром. И параметру тоже нужно определить тип, а не просто слово какое-то, например build:String |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
__________________
Reality.getBounds(this); |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Вообще, чтобы не было проблем со строковыми параметрами, рекомендуется использовать константы.
То есть в классе (обычно в целевом) заводится публичное свойство класса, то есть статическая константа уровня класса. Например, в вашем BaseWindows нужно завести public static const FARM:String = "farm"; public static const CASTLE:String = "castle"; // и т.д. Добавлено через 1 минуту Ну и "внутри" класса BaseWindows эти же константы используете switch(type) { case CASTLE: trace("Замок"); this.addChild(win); win.x = 500 - win.width / 2; win.y = 500 - win.height / 2; win.btnClose.addEventListener(MouseEvent.CLICK, closeWindow); break; case FARM: trace("Ферма"); this.addChild(win); win.x = 500 - win.width / 2; win.y = 500 - win.height / 2; win.btnClose.addEventListener(MouseEvent.CLICK, closeWindow); break; }
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|