![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2010
Сообщений: 13
|
Здравствуйте !!
пытался сделать ф-ю инкремента но столкнулся с зависанием . помогите исправить . ниже приведена сама ф-я myFun которая начинает счет с указанного в mylib места . результат показывает на экране. mylib.as package { import flash.display.*; import flash.text.*; public class mylib extends Sprite { public var secMsg:TextField; public var player:Number = myFun(7); public function mylib() { stage.frameRate = 30; secMsg = new TextField(); secMsg.autoSize = TextFieldAutoSize.LEFT; secMsg.text = String(player); secMsg.x = 140; addChild(secMsg); } } } package { import flash.utils.*; import flash.events.*; import flash.text.*; public function myFun(count:Number):Number { var secMsg:TextField; var count:Number; var timer:Timer = new Timer(1000,0); timer.addEventListener(TimerEvent.TIMER, timerListener); timer.start(); function timerListener(e:TimerEvent):void { if (count <= 60) { secMsg.text = String(count); count++; } } return count; } } |
|
|||||
|
Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
|
Тихий ужас, а не код... Возвращаете значение в хэндлере (да еще и вложенном), который не может ничего возвращать. Зачем-то ставите таймер на бесконечный повтор, и в нем считаете сколько раз он отработал (не лучше сразу делать new Timer(1000,count)). Count у вас не определяется параметром функции... И вообще все тут не будет так работать, как вы хотели. Используйте просто Timer!
package { import flash.display.Sprite; import flash.text.textField; import flash.utils.Timer; public class mylib extends Sprite { public var secMsg:TextField; public var count:Number; public var timer:Timer; public function mylib() { secMsg = new TextField(); secMsg.autoSize = TextFieldAutoSize.LEFT; secMsg.x = 140; addChild(secMsg); count = 7; timer = new Timer(1000,count); timer.addEventListener(TimerEvent.TIMER, timerHandler); timer.start(); } public function timerHandler(event:TimerEvent):void { secMsg.text = String( (event.target as Timer).currentCount ); } } } Последний раз редактировалось Hidest; 18.08.2010 в 21:02. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:02. |
|
|
« Предыдущая тема | Следующая тема » |
|
|