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

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

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

Регистрация: Aug 2010
Сообщений: 144
Исправил, но это же на ошибку ни как не повлияло!

Добавлено через 12 минут
Возможно ошибка из-за того, что я не в классе пишу а в кадрах?

Старый 21.01.2012, 21:28
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Покажите исправленный код. На какую строчку ругается?
__________________
тут я

Старый 21.01.2012, 21:35
sneltyn вне форума Посмотреть профиль Отправить личное сообщение для sneltyn Найти все сообщения от sneltyn
  № 3  
Ответить с цитированием
sneltyn

Регистрация: Aug 2010
Сообщений: 144
Код AS3:
import flash.display.Loader;
import flash.net.URLRequest;
var xml:XML;
var loader:Loader = new Loader();
var loaderXML:Loader = new Loader();
 
loader.load(new URLRequest("experement.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
 
 
function onComplete(e:Event):void{
	trace('load');
	loaderXML.addEventListener("xmlComplete", handler);
}
 
function handler():void{
	trace("Загрузка завершена, можно поместить на сцену.");
	addChild(loader);
}
 
 
function onProgress(e:ProgressEvent):void{
trace("Загрузка "+ e.target.bytesLoaded + "/"+e.target.bytesTotal);
}
Ругаеться скорее всего на
Код AS3:
dispatchEvent(new Event("xmlComplete"))

Старый 21.01.2012, 21:39
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Во-первых. Что такое loaderXML? Зачем он здесь?
loader грузит вашу experement.swf. В нем же и грузится xml, верно? И диспатчится событие тоже в нем.
Во-вторых, handler должен принимать event:Event в качестве аргумента.
Ошибка скорее всего из-за того, что в Вашей experement.swf идет обращение к еще не определившемуся stage.
__________________
тут я

Старый 21.01.2012, 21:54
sneltyn вне форума Посмотреть профиль Отправить личное сообщение для sneltyn Найти все сообщения от sneltyn
  № 5  
Ответить с цитированием
sneltyn

Регистрация: Aug 2010
Сообщений: 144
Ну вот поисправлял
Код AS3:
import flash.display.Loader;
import flash.net.URLRequest;
var xml:XML;
var loader:Loader = new Loader();
 
loader.load(new URLRequest("experement.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
 
 
function onComplete(e:Event):void{
	trace('load');
	addEventListener("xmlComplete", handler);
}
 
function handler(event:Event):void{
	trace("Загрузка завершена, можно поместить на сцену.");
	addChild(loader);
}
 
 
function onProgress(e:ProgressEvent):void{
trace("Загрузка "+ e.target.bytesLoaded + "/"+e.target.bytesTotal);
}
ошибок нет но полностю не грузиться
Код AS3:
function handler():void{
	trace("Загрузка завершена, можно поместить на сцену.");
	addChild(loader);
}
сюда не доходит=(

Добавлено через 9 минут
а есть чтото похожее, чтобы посмотреть как там выполненно и где я допустил ошибку?

Добавлено через 15 минут
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at experement_fla::MainTimeline/frame1()

Вод код загружаемой swf что не так?

Код AS3:
stop();
import flash.net.URLLoader;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.net.URLRequest;
import flash.display.MovieClip;
import flash.display.IBitmapDrawable;
import flash.text.TextField;
import fl.motion.easing.Exponential;
 
var xml:XML;
var xmlList;
var dates:Array = new Array();
var closes:MovieClip = new close_();
var bloker:MovieClip = new bloker_();
var degree:Number = 0;
var val:int;
var url:String;
var obj_2:MovieClip;
var lenta:Number;
var boo:Boolean=false;
var minText:int;
var maxText:int;
var koord_1:Number;
var btnb: MovieClip = new btn_();
var listingChild: MovieClip = new listingChild_();
var scrollBar:MovieClip = new scroll_Bar();
var scroller: MovieClip = new scroller_();
var listing: MovieClip = new listing_();
var _exp: MovieClip = new exp();
var contents: MovieClip = new menus();
//var completeLoad:MovieClip = new completeLoad_();
//addChild(completeLoad);
contents.mask = mask_mc;
contents.x=6.40;
contents.y=50;
 
var loader:URLLoader;
vybor.addEventListener(MouseEvent.CLICK, gotoMenus)
 
 
function gotoMenus(e:MouseEvent):void{
	trace('menus');
	loadCont();
	addChild(bloker);
	bloker.y=415;
	bloker.alpha=0.8;
}
 
function loadXML(file:String):void{
	var xmlLoader:URLLoader = new URLLoader();
	xmlLoader.load(new URLRequest(file));
	xmlLoader.addEventListener(Event.COMPLETE, comleteLoading);
 
}
function comleteLoading(e:Event):void{
    dispatchEvent(new Event("xmlComplete"));//ловите его в прелоадере, это и будет полной загрузкой
	xml = XML(e.target.data);
	xmlList = xml.children();
	trace(xml);
	//removeChild(completeLoad);
	loadMenus();
}
 
var obj:MovieClip;
function loadMenus(){
	for(var i:int=0; i<xmlList.length(); i++){
		var xmlListchild = xml.menu[i].children();
		var temp:MovieClip = new btn();
		temp.x = 0;
   	 	temp.y = 24*i;
		temp.buttonMode = true;
		temp.useHandCursor = true;
		contents.addChild(temp);
		var txt:TextField = new TextField();  
    	var newFormat:TextFormat = new TextFormat();
   		txt.y = 3;
		txt.selectable = false;
   		txt.width = 200;
  	    txt.height = 20;
		newFormat.font = "Arial";
		newFormat.bold=true;
		newFormat.size = 12;
		newFormat.color=0x000000;
    	txt.text = xml.menu[i].@id;
    	temp.addChild(txt);
		txt.setTextFormat(newFormat);
		txt.mouseEnabled = false;
		temp.addEventListener(MouseEvent.CLICK, btnClick)
		temp.addEventListener(MouseEvent.MOUSE_OVER,goanimation);
		temp.addEventListener(MouseEvent.MOUSE_OUT,mouse_OUT);
		temp.length = xmlListchild.length();
		temp.children=xml.menu[i].children();
	}
}
 
function goanimation(e:MouseEvent):void {
	obj = MovieClip(e.target);
	obj.gotoAndStop(2);
}
 
function mouse_OUT(e:MouseEvent):void {
	obj = MovieClip(e.target);
	obj.gotoAndStop(1);
}
 
function btnClick (e:MouseEvent):void{
 
	function removeAllChildren() : void {
 		while (listing.numChildren)
   		listing.removeChildAt(0);
 	}
	listing.y=0;
	scroller.y=0;
	removeAllChildren();
	for(var i:int=0; i<e.target.length;i++){
		contents.addChild(listing);
		var btn_child:MovieClip = new btnchild();
		btn_child.x = 210;
		btn_child.y = i*23.5;
		var txtChild:TextField = new TextField();  
    	var newFormat:TextFormat = new TextFormat();
    	txtChild.y = 5;
		txtChild.selectable = false;
    	txtChild.width = 200;
   		txtChild.height = 20;
		newFormat.size = 13;
		newFormat.color=0xffffff;
		txtChild.text = e.target.children[i].attributes()[0];
		listing.addChild(btn_child);
		btn_child.addChild(txtChild);
		//trace(listing.height)
		txtChild.setTextFormat(newFormat);
		txtChild.mouseEnabled = false;
		btn_child.minText=e.target.children[i].attributes()[1];
		btn_child.maxText=e.target.children[i].attributes()[2];
		btn_child.linkUrl=e.target.children[i].attributes()[3];
		btn_child.addEventListener(MouseEvent.MOUSE_OVER,goanimationbtn);
		btn_child.addEventListener(MouseEvent.MOUSE_OUT,mouse_OUTbtn);
		btn_child.addEventListener(MouseEvent.CLICK, linkto);
	}
 
	function goanimationbtn(e:MouseEvent):void {
		obj_2 = MovieClip(e.target);
		obj_2.gotoAndStop(2);
	}
 
	function mouse_OUTbtn(e:MouseEvent):void {
		obj_2 = MovieClip(e.target);
		obj_2.gotoAndStop(1);
	}	
 
	function linkto(e:Event):void{
		removeChild(bloker);
		minText=e.target.minText;
		maxText=e.target.maxText;
		url= e.target.linkUrl;
		boo=true;
		minT.text=e.target.minText+' mm';
		maxT.text=e.target.maxText+' mm';
		contents.removeChild(listing);
		removeChild(contents);
		touh.TOUCHPAD.cont.val.text=minText;
		touh.TOUCHPAD.roll.x=0;
		touh.TOUCHPAD.cont.x=0;
		degree=0;
		functTrace();
		functTrace1();
 	}
 
	btn_2.addEventListener(MouseEvent.CLICK, linktoUrl);
 
	function linktoUrl(e:Event):void{
		var request:URLRequest = new URLRequest(url);
		navigateToURL(request, 'blank');
	}
 
	if(listing.height>=stage.stageHeight){
		scroller.height = (scrollBar.height/(listing.height))*scrollBar.height;
		addChild(scrollBar);
		scrollBar.x=674;
		scrollBar.y=51;
		scrollBar.addChild(scroller);
		scroller.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownh);
		stage.addEventListener(MouseEvent.MOUSE_UP, places);
		//stage.addEventListener(MouseEvent.MOUSE_WHEEL, scrollandBar);
 
		function mouseDownh(e:MouseEvent):void {
 			scroller.startDrag(false, new Rectangle(0,0, 0,scrollBar.height-scroller.height));
			stage.addEventListener(MouseEvent.MOUSE_MOVE, changesY);
		}
 
		/*function scrollandBar (e:MouseEvent):void{
		if(scroller.y>=scrollBar.height-scroller.height-3)
		scroller.y=scrollBar.height-scroller.height-3;
		if(scroller.y<=3)
		scroller.y=3;
		scroller.y=scroller.y-e.delta;
		listing.y = -listing.height*(scroller.y/scrollBar.height);
		e.updateAfterEvent();
		}*/
 
		function places(e:MouseEvent):void{
			scroller.stopDrag();
			stage.removeEventListener(MouseEvent.MOUSE_MOVE, changesY);
		}
 
		function changesY (e:MouseEvent):void{	
			listing.y = -listing.height*(scroller.y/scrollBar.height);
			e.updateAfterEvent();
		}
	}
 
	if(listing.height<=stage.stageHeight){
		removeChild(scrollBar);
		listing.y=0;
	}
 
}
function loadCont(){
		addChild(contents);
		contents.addChild(closes);
		closes.y=330;
		closes.buttonMode = true;
		closes.useHandCursor = true;
		closes.useHandCursor = true;
		closes.addEventListener(MouseEvent.MOUSE_OVER,closesOVER);
		closes.addEventListener(MouseEvent.MOUSE_OUT, closesOUT);
		closes.addEventListener(MouseEvent.CLICK, closesCLICK);
}
 
function closesOVER(e:Event):void{
	closes.gotoAndStop(2);
}
 
function closesOUT(e:Event):void{
	closes.gotoAndStop(1);
}
 
function closesCLICK(e:Event):void{
	removeChild(contents);
	removeChild(bloker);
	functTrace1();
	boo=false;
}
 
function functTrace1():void{
	removeChild(scrollBar);
}
 
 
 
loadXML("xml.xml");


Последний раз редактировалось sneltyn; 21.01.2012 в 22:10.
Старый 22.01.2012, 00:46
Art_133 вне форума Посмотреть профиль Отправить личное сообщение для Art_133 Посетить домашнюю страницу Art_133 Найти все сообщения от Art_133
  № 6  
Ответить с цитированием
Art_133
 
Аватар для Art_133

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
Вешать событие нужно на swf, который грузите:
Код AS3:
loader.content.addEventListener("xmlComplete", handler);


Последний раз редактировалось Art_133; 22.01.2012 в 00:50.
Старый 22.01.2012, 01:10
sneltyn вне форума Посмотреть профиль Отправить личное сообщение для sneltyn Найти все сообщения от sneltyn
  № 7  
Ответить с цитированием
sneltyn

Регистрация: Aug 2010
Сообщений: 144
Выдает ошибку

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at experement_fla::MainTimeline/frame1()

Я же правильно сделал?

Код AS3:
import flash.display.Loader;
import flash.net.URLRequest;
var xml:XML;
var loader:Loader = new Loader();
 
 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
loader.load(new URLRequest("experement.swf"));
 
function onComplete(e:Event):void{
	loader.content.addEventListener("xmlComplete", handler);
	trace('load');
}
 
function handler(event:Event):void{
	trace("Загрузка завершена, можно поместить на сцену.");
	addChild(loader);
}
 
 
function onProgress(e:ProgressEvent):void{
trace("Загрузка "+ e.target.bytesLoaded + "/"+e.target.bytesTotal);
}

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

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

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


 


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


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