![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2010
Сообщений: 7
|
есть функция в которой определена переменная next:
public function onGetTime(t:String):void {
var next:Date = new Date(t);
var ed:TextField=evendate;
ed.text+=new Date(t);
trace('', t);
trace('', next);
}
var nextsession:Date = ?;
![]() может не правильно сформулировал вопрос, во флеше я новичек. |
|
|||||
|
ну а почему просто next не сделать глобальной?
|
|
|||||
|
Регистрация: May 2010
Сообщений: 7
|
сделал так
var next:Date; public function onGetTime(t:String):void { next = new Date(t); var ed:TextField=evendate; ed.text+=new Date(t); trace('', t); trace('', next); } var nextsession:Date = next; TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at Timer/frame1() May 28 07:00:00 GMT+0000 2010 Fri May 28 10:00:00 GMT+0300 2010 из файла php передается значение переменной: May 28 07:00:00 GMT+0000 2010 - это дата события в формате UTC next = new Date(t);// в данном случае берет эту строку и преобразует её с учетом часового пояса пользователя в Fri May 28 10:00:00 GMT+0300 2010 дальше идет код таймера, в котором первой строчкой определялась дата события var nextsession ate = new Date(Date.UTC(2010, 04, 28, 7, 0, 0, 0));// если забить руками, то все работает, но мне это не подходит, нужно чтобы переменной nextsession=nextДобавлено через 11 минут а если еще проще сказать, то мне необходимо данные t:String загнать в глобальную переменную только проблема в том, что переменная t, как и все переменные функции onGetTime действуют только в пределах этой фонкции. Подозреваю что это сделать просто, только ума пока не хватает.. |
|
|||||
|
Регистрация: May 2010
Сообщений: 7
|
Можно пример на моем коде? Не совсем допонял.
|
|
|||||
|
Инетерсно в какой строчке ошибка... подозреваю что в var nextsession
ate = next;а если так? Последний раз редактировалось HotIceCream; 23.05.2010 в 19:08. |
|
|||||
|
Регистрация: May 2010
Сообщений: 7
|
Цитата:
Последний раз редактировалось Anti; 23.05.2010 в 19:18. |
|
|||||
|
Регистрация: May 2010
Сообщений: 7
|
Цитата:
var now:Date = new Date(); // Conditional to snap to frame 3 if it is xmas or past xmas if (now >= nextsession) { gotoAndStop(3); } // Set the difference between the two date and times in milliseconds var timeDiff:Number = nextsession.getTime() - now.getTime(); //Convert the timeDiff(which is in milliseconds) into regular seconds-minutes-hours-days //The Math.floor is the closest rounded integer that is less than or equal to the decimal number var milliseconds:Number = Math.floor(timeDiff / 001); var seconds:Number = Math.floor(milliseconds / 1000); var minutes:Number = Math.floor(seconds / 60); var hours:Number = Math.floor(minutes / 60); var days:Number = Math.floor(hours / 24); // Set the remainder of the division vars above hours %= 24; minutes %= 60; seconds %= 60; milliseconds %= 1000; // String all vars together for display var timeRemaining:String = "Days= " + days + " Hours= " + hours + " Minutes= " + minutes + " Seconds= " + seconds +" milliseconds= " + milliseconds; var ms:String ="" + milliseconds; var s:String ="" + seconds; var m:String ="" + minutes; var h:String ="" + hours; var d:String ="" + days; // Display everything in their dynamic text fileds msString.text = ms; sString.text = s; mString.text = m; hString.text = h; dString.text = d; timeString.text = timeRemaining; now_txt.text = "now: " + now; xmas_txt.text = "Xmas = " + nextsession; package { import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.display.MovieClip; import Amf; //--подключаем наш класс для взаимодействия import flash.display.Loader; import flash.events.*; import flash.net.URLRequest; public class Timer extends MovieClip { public var amf:Amf; //--обьявим переменную класса Amf для взаимодействия public function Timer() { amf= new Amf(); amf.toamf("timer.getevent.getevent",onGetEvent); //-- timer.getevent.getevent - сначало имя папки в которой скрипт php, дальше имя php скрипта, дальше имя вызываемой функции amf.toamf("timer.getevent.gettime",onGetTime); //-- вторым параметром - функция в которую вернется ответ сервера amf.toamf("timer.getevent.getversioninfo",onGetVersion); } public function onGetEvent(a:Object):void { //var uint=0; //var dx:uint=0; for each (var val:Array in a.serverInfo.initialData) { //--в переменную val будет загонятся очередной значение из массива a, принцип: val=a[0]; val=a[1]; и тд var tf:TextField=newtext; var gp:TextField=gpname; var en:TextField=eventname; //tf.autoSize=TextFieldAutoSize.LEFT; tf.text='дата '+ val[0]+' '; //--запишем дату и пробел tf.text+=val[1]+' '; //--допишем заголовок и новую строку tf.text+=val[2]+'\n'; tf.text+=val[3]+' '; tf.text+=val[4]; gp.text+=val[1]; en.text+=val[2]; // загрузка изображения var imageLoader:Loader = new Loader(); var theURL:String = "images/gp/"+ val[5] +".jpg"; var imageRequest = new URLRequest(theURL); imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); imageLoader.load(imageRequest); function onComplete(evt:Event) { addChildAt(imageLoader.content,0); } addChild(tf); addChild(gp); } } var next1:Date=new Date(2010, 04, 28, 7, 0, 0, 0); public function onGetTime(t:String):void { next1 = new Date(t); var ed:TextField=evendate; ed.text+=new Date(t); trace('', t); trace('', next1); return t; } //var nextsession = next1; var nextsession:Date = new Date(Date.UTC(2010, 04, 28, 7, 0, 0, 0)); //--пример получения простого значения из php function onGetVersion(s:String):void { //--из php нам отдается простая строка, значит и в параметрах функции мы укажем строку trace('Версия php сервиса:', s); } } } ate = new Date(Date.UTC(2010, 04, 28, 7, 0, 0, 0));, но проблема в том, что дата не всегда будет одинакова, поэтому тут должна быть переменная, которая получает данные внутри функции onGetTime.Добавлено через 5 минут Цитата:
Добавлено через 6 минут Из функции никак нельзя объявить переменную, чтоб она действовала во всем клипе? |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|