![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2010
Сообщений: 13
|
Здравствуйте !!
никак не могу понять как вывести массив на экран ??? помогите !!! : ) нужно вывести через каждую секунду число из массива 10 чисел. вот мой неправильно работающий код . при запуске выдает Get Ready! , а через секунду сразу 10 =( package { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.text.*; public class Race extends Sprite { private var startMsg:TextField; public function Race ( ) { stage.frameRate = 30; var timer:Timer = new Timer(1000, 10); // timer.addEventListener(TimerEvent.TIMER, timerListener); timer.start( ); startMsg = new TextField( ); startMsg.autoSize = TextFieldAutoSize.LEFT; startMsg.text = "Get Ready!"; addChild(startMsg); } private function timerListener (e:TimerEvent):void { var numbers:Array = [1,2,3,4,5,6,7,8,9,10]; if ( startMsg.text !== numbers[9] ){ for ( var i:int = 0; i !== numbers[9]; i++ ){ startMsg.text = numbers[i];} } } } } |
|
|||||
|
Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
|
эм.. ваш код странный =) я не вьеду в него
![]() |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 13
|
чем же он странный ?))
|
|
|||||
|
Вот так надо. Без цикла.
package { import flash.display.Sprite; import flash.events.TimerEvent; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.utils.Timer; public class Main extends Sprite { private var count:int = 0; private var numbers:Array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; private var startMsg:TextField; public function Main():void { startMsg = new TextField(); startMsg.autoSize = TextFieldAutoSize.LEFT; startMsg.text = "Get Ready!"; addChild(startMsg); var timer:Timer = new Timer(1000, 10); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); } private function onTimer(e:TimerEvent):void { startMsg.text = numbers[count]; count ++; if (count == 11) { e.target.removeEventListener(TimerEvent.TIMER, onTimer); } } } } |
|
|||||
|
Регистрация: Aug 2010
Адрес: Красноярск
Сообщений: 7
|
По всей видимости требовалось, что то типа этого:
package { import flash.display.Sprite; import flash.text.TextField; import flash.display.*; import flash.events.*; import flash.utils.*; import flash.text.*; public class Race extends Sprite { private var startMsg:TextField; public function Race() { stage.frameRate = 30; var timer:Timer = new Timer(1000, 10); // timer.addEventListener(TimerEvent.TIMER, timerListener); timer.start(); startMsg = new TextField(); startMsg.autoSize = TextFieldAutoSize.LEFT; startMsg.text = "Get Ready!"; addChild(startMsg); } private var count:uint = 0; private function timerListener(e:TimerEvent):void { var numbers:Array = [1,2,3,4,5,6,7,8,9,10]; if (count != numbers.length) { startMsg.text = numbers[count]; count++; } } } } Оу.. Надо чаще страницу обновлять, не разглядел, что уже ответили +)) |
|
|||||
|
Регистрация: Mar 2009
Адрес: Kazakhstan, Almaty
Сообщений: 121
|
вот здесь вы ведь сами указали, чтобы он установил последнее число.
можно просто добавить переменную-счетчик = 0. каждый раз при срабатывании таймера startMsg.text = numbers[счетчик]; а также счетчик++ и никаких циклов не нужно UPD ) поздно пишу)
__________________
заткнись и делай |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 13
|
спасибо , помогли ..))
Добавлено через 5 минут страницу можно и не обновлять и так работает. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|