Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.06.2007, 14:51
MaxCmd вне форума Посмотреть профиль Отправить личное сообщение для MaxCmd Найти все сообщения от MaxCmd
  № 1  
Ответить с цитированием
MaxCmd
 
Аватар для MaxCmd

Регистрация: Jun 2007
Сообщений: 18
Question Флеш не может найти тип Event

Привет всем.

У меня возникла проблема при создания класса с использованием URLLoader.
Мой класс должен загрузить(отправить) данные с сервера.
Но, при кимпиляции он выводит ощибка: Messages.as, Line 39. 1046: Type was not found or was not a compile-time constant: Event.
Код еще не готовый.
Помогите пожалуйста. Без этого я не могу тестировать.

Код:
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.sendToURL;
import flash.events.*;
import flash.net.*;
import flash.utils.*;

class sp.Messages {
	public var lastMsgN = 0;
	
	private var msgLoader:URLLoader;
	private var url:String = "http://localhost/SP/messages.php";
	private var variables:URLVariables = new URLVariables();
	private var request:URLRequest;
	
	private var messages:Array = new Array();
	
	public function Messages() {
		this.msgLoader = new URLLoader();
		this.msgLoader.addEventListener(Event.COMPLETE, this.getMessages);
	}
	
	/**
		* Method, load messages from server
		* 
		* @paramsessionName
		* @paramclientId
		* @parammsgId
	*/
	private function loadMessages(sessionName:String, clientId:Number, msgId:Number) {
		this.request = new URLRequest("http://localhost/SP/messages.php?SessionName=" + sessionName + "&clientId=" + clientId + "&msgId=" + msgId);
		var oldMsgN:Number = this.lastMsgN;
		this.msgLoader.load(request);
		while(oldMsgN == lastMsgN) {
			
		}
	}
	
	private function getMessages(event:Event):void {
		var txt:String = this.msgLoader.data;
		this.lastMsgN++;
		this.messages[this.lastMsgN] = txt;
	}
	
	public function sendMessage(msgCode:String, msgParams:String):void {
		this.variables.msgCode = msgCode;
		this.variables.msgParams = msgParams;
		
		var request:URLRequest = new URLRequest(url);
		request.data = this.variables;
		try {
			sendToURL(request);
		}
		catch (e:Error) {
			// error
		}
	}
	
	public function getMessageN(msgN:Number) {
		return this.messages[msgN];
	}
}

Старый 25.06.2007, 14:55
BigDan вне форума Посмотреть профиль Отправить личное сообщение для BigDan Найти все сообщения от BigDan
  № 2  
Ответить с цитированием
BigDan
 
Аватар для BigDan

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
sp.Messages а это что? новая альтернатива package?
Код:
package sp {
 class Messges
 .....
 .....
}

Старый 25.06.2007, 15:18
MaxCmd вне форума Посмотреть профиль Отправить личное сообщение для MaxCmd Найти все сообщения от MaxCmd
  № 3  
Ответить с цитированием
MaxCmd
 
Аватар для MaxCmd

Регистрация: Jun 2007
Сообщений: 18
Я на ActionScript типа новичок.
Посмотрев примеры(скачанные из сайта http://silin.fatal.ru/), я создал такой класс.
Там создан класс внутри папки. А в классе имя папки находится перед именем класса.
У них есть такой пример: в корневой папке:
com
camel.fla
camel.swf
Model.as


Внутри папки com находится папка silin. А внутри silin:
DistortBitmap.as
Fps.as
Hint.as

У этих классах написан(не объявлен пакет):
class com.silin.DistortBitmap extends MovieClip {...
class com.silin.Fps extends MovieClip{...
class com.silin.Hint{...


При импорте просто написали
import com.silin.DistortBitmap;
import com.silin.Hint;


Это будет некорректно? Но там прекрасно работает.

Старый 25.06.2007, 15:20
BigDan вне форума Посмотреть профиль Отправить личное сообщение для BigDan Найти все сообщения от BigDan
  № 4  
Ответить с цитированием
BigDan
 
Аватар для BigDan

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
если пути прописываются так:class com.silin.DistortBitmap extends MovieClip, то это АС2, а в АС3 пути прописываются через package.

Старый 25.06.2007, 15:47
MaxCmd вне форума Посмотреть профиль Отправить личное сообщение для MaxCmd Найти все сообщения от MaxCmd
  № 5  
Ответить с цитированием
MaxCmd
 
Аватар для MaxCmd

Регистрация: Jun 2007
Сообщений: 18
Уже все поправил.
Спасибо вам.

Старый 25.06.2007, 15:55
MaxCmd вне форума Посмотреть профиль Отправить личное сообщение для MaxCmd Найти все сообщения от MaxCmd
  № 6  
Ответить с цитированием
MaxCmd
 
Аватар для MaxCmd

Регистрация: Jun 2007
Сообщений: 18
Еще раз извините. Я не хотел новую тему создать.
Как сделать флешу ждать до окончания загрузкибез каких-либо действий?
Если вы помотрите на мой код, там написан
Код:
this.msgLoader.addEventListener(Event.COMPLETE, this.getMessages);
...
var oldMsgN:Number = this.lastMsgN;
	this.msgLoader.load(request);
	while(oldMsgN == lastMsgN) {
			
}
...
private function getMessages(event:Event):void {
	var txt:String = this.msgLoader.data;
	this.lastMsgN++;
	this.messages[this.lastMsgN] = txt;
}
Но этот код не работает(долго ждал и потом таймаут).
Как мне это сделать?
Заранее благодарю.

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.