Показать сообщение отдельно
Старый 23.05.2010, 19:30
Anti вне форума Посмотреть профиль Отправить личное сообщение для Anti Найти все сообщения от Anti
  № 10  
Ответить с цитированием
Anti

Регистрация: May 2010
Сообщений: 7
Цитата:
Сообщение от HotIceCream Посмотреть сообщение
нет, не поэтому.
Что вы дальше делаете с nextsession ? Смысл в том, что вы скорее всего обрабатываете nextsession уже дальше еще до того, как вызовется функция onGetTime
дальше идет код таймера обратного отсчета, которому нужно значение nextsession - это время события до которого мы считаем. но этот код прописан в кадре таймлайн
Код AS3:
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;
а сама функция в классе Timer:
Код AS3:
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);
		}
 
	}
 
}
вот так, как сейчас работает, потому, что я прямо вписал цифрами дату события var nextsessionate = new Date(Date.UTC(2010, 04, 28, 7, 0, 0, 0));, но проблема в том, что дата не всегда будет одинакова, поэтому тут должна быть переменная, которая получает данные внутри функции onGetTime.

Добавлено через 5 минут
Цитата:
Сообщение от КорДум Посмотреть сообщение
Код AS3:
переменная = функция(передача параметров);
 
функция (передача параметров):ТипВозвращаемогоЗначения {
	что-то делает;
	return локальная переменнаяЭтойФункции;
}
Но это, наверно, не для вашего случая.
да тяжелый у меня случай, все что надо от скрипта получил, и текстовые поля и изображение, а вот переменную для даты события никак.

Добавлено через 6 минут
Из функции никак нельзя объявить переменную, чтоб она действовала во всем клипе?