![]() |
|
||||||||||
|
|||||
|
[+1.3 20.12.10]
Регистрация: Nov 2009
Сообщений: 124
|
да дело не в методе а в том что я немогу к нему обратится
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ах да, в приемнике параметров у Вас так же не указана типизация параметров -
__________________
Reality.getBounds(this); |
|
|||||
|
[+1.3 20.12.10]
Регистрация: Nov 2009
Сообщений: 124
|
уф...лучше бы подсказали как к этому методу обратится)
Вообще конечно мне как человеку пишушему на php немного странно что к функции класса нельзя обратится без инициализации |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
ОК. Если я правильно понял, "map" это экземпляр Universe, который Вы ручками положили на сцену? А весь этот код пишете в первом кадре? Для начала Вам надо создать ссылку на этот экземпляр, чтобы использовать ее в коде. Например,
А дальше уже все по плану.
__________________
Reality.getBounds(this); |
|
|||||
|
[+1.3 20.12.10]
Регистрация: Nov 2009
Сообщений: 124
|
нет, поняли вы не правильно. В первом посте все описал.
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
"функция класса" это статический метод класса, например Так можно было бы обратиться к Но у вас же нет такого метода, да он и не возможен в Вашей архитектуре. Вы же обращаетесь к экземпляру (instance) класса Universe. Извините, но его надо сначала создать, что тут нелогичного - Вы обращаетесь к тому, чего нет. Есть Класс, но Класс - не его экземпляр.
__________________
Reality.getBounds(this); |
|
|||||
|
[+1.3 20.12.10]
Регистрация: Nov 2009
Сообщений: 124
|
да. про статик я уже прочитал.
Однако окончательно запутался. В итоге имеем класс Universe который добавлен на сцену, как блин из класса Player обратится к чайлду Universe? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Сначала "найдите" экземпляр Universe, добавленный на сцену, и все встанет на свои места.
Цитата:
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
|
[+1.3 20.12.10]
Регистрация: Nov 2009
Сообщений: 124
|
кароче сделаем проще
Universe: package { import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.Event; import flash.display.MovieClip; import flash.display.Stage; import Tiler; public class Universe extends MovieClip { public var maploader:URLLoader = new URLLoader(); public var mapurl; public var map:XML; public var WORLD_X = 175; public var WORLD_Y = 75; public var TILE_H; public var TILE_W; public function Universe(url) { mapurl = url; addEventListener(Event.ADDED_TO_STAGE, init); maploader.addEventListener(Event.COMPLETE, init_map); } public function init(e:Event):void { removeEventListener(Event.ADDED_TO_STAGE, init); //загружаем XML с картой maploader.load(new URLRequest(mapurl)); } public function init_map(e:Event) { map = new XML(e.target.data); TILE_H = map.options.tile_h; TILE_W = map.options.tile_w; for (var gridY = 0; gridY < map.options.map_h; gridY++) { for (var gridX = 0; gridX <map.options.map_w; gridX++) { var tileID:Tiler = new Tiler(gridX,gridY); tileID.walkable = true; addChild(tileID); var stageX = WORLD_X - gridY * 0.5 * TILE_W + gridX * 0.5 * TILE_W; var stageY = WORLD_Y + gridY * 0.5 * TILE_H + gridX * 0.5 * TILE_H; tileID.x = stageX; tileID.y = stageY; } } } } } package { import flash.display.MovieClip; import tile; import flash.events.Event; import flash.events.MouseEvent; public class Tiler extends MovieClip { public var corY; public var corX; //важности public var walkable:Boolean; public function Tiler(gridX,gridY) { corY=gridY; corX=gridX; this.name = 'x'+gridX+'y'+gridY; addEventListener(Event.ADDED_TO_STAGE,init); } public function init(e:Event) { var mc:MovieClip = new tile(); this.addChild(mc); addEventListener(MouseEvent.MOUSE_OVER,over); } public function over(e:MouseEvent) { trace(this.name); } } } package { import flash.display.MovieClip; import flash.events.Event; import flash.display.Stage; import flash.display.Scene; import flash.display.DisplayObject; import Universe; import Tiler; public class Player extends MovieClip { public function Player() { addEventListener(Event.ADDED_TO_STAGE,init); } public function init(e:Event) { var mc:MovieClip = new player(); //как же тут получить координаты тайла??? } } } |
|
|||||
|
Регистрация: Jun 2010
Сообщений: 189
|
A что, есть смысл в сочетании программирования в классах с программированием в кадрах?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:34. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|