![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2009
Сообщений: 39
|
Здравствуйте. Пытаюсь изменить текстовое поле из класса, но не выходит. У меня в библиотеке есть клип Score, который содержит динамический текст, instance name - scoreTxt, главный класс - Main, а через класс Player я собственно пытаюсь изменить текст.
Main package { import flash.display.MovieClip; public class Main extends MovieClip { public static var score:Score; private var player:Player; public function Main() { player=new Player(); score=new Score(); addChild(score); this.x=stage.stageWidth/2; this.y=stage.stageHeight/2; } } } package { import flash.display.MovieClip; public class Score extends MovieClip { public function Score() { } public function updateScore():void { scoreTxt.text="123"; trace("123"); } } } |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,155
|
Уфффф, вы тут намесили
![]() Создали два экземпляра Score - в Main и в Player. У вас отображается тот, что создан в Main, а приписано событийное изменение тому, что в Player. Сделайте так package { import flash.display.MovieClip; public class Main extends MovieClip { public static var score:Score; private var player:Player; public function Main() { player=new Player(); addChild(player); //score=new Score(); убрать //addChild(score); this.x=stage.stageWidth/2; this.y=stage.stageHeight/2; } } } package { import flash.display.MovieClip; import flash.events.Event; public class Player extends MovieClip { private var score:Score; public function Player() { score=new Score(); addChild(score); addEventListener(Event.ENTER_FRAME, doSmth); } public function doSmth(e:Event):void { score.updateScore(); } } } Последний раз редактировалось flash33; 24.09.2009 в 01:11. |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 39
|
Спасибо большое
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:07. |
|
|
« Предыдущая тема | Следующая тема » |
|
|