PDA

Просмотр полной версии : Помогите найти ошибку в коде.


ed8009
04.01.2011, 00:03
Здравствуйте! Пожалуйста помогите, у меня просто вынос мозга происходит, я запутался в коде, посмотрите в чем ошибка. Вот код: stop();// останавливаем наш ролик
//импортируем файлы
import flash.display.*;
import flash.net.URLRequest;
import flash.display.DisplayObject;
import flash.events.MouseEvent;
////////////////////////////////////////////////////////////////////
//события первого блока
block1_mc.doubleClickEnabled = true;
block1_mc.addEventListener(MouseEvent.DOUBLE_CLICK,goanimation);
function goanimation(event:MouseEvent):void {
gotoAndStop(2);

var myLoader:Loader = new Loader();
var myURL:URLRequest = new URLRequest("http://mitasov.ucoz.ru/fotogalereja.swf");
addChild(myLoader);
myLoader.load(myURL);
myLoader.x = 0;
myLoader.y = 0;
myLoader.scaleX = 0.7;
myLoader.scaleY = 0.7;


}
после запуска ролика ничего на происходит, а вот когда я ажимаю на "block1_mc" тобиш загружаю новый swf, то вылезает ошибка TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at _fla::MainTimeline/frame1() Плиззз... помогите...

Contemplator
04.01.2011, 00:06
AS3 не принято писать в кадрах в принципе... это раз...
темы названные подобным образом как правило закрывают из-за "название темы не отображает сути вопроса" - это два...

исходный код вообще бредовый в принципе, к слову...
import flash.display.*;
import flash.net.URLRequest;
import flash.display.DisplayObject; //нафига? уже импортирован весь пакет flash.display
import flash.events.MouseEvent;

что-то подсказывает что конкретно данную ошибку выдаёт из-за последовательности строк
addChild(myLoader);
myLoader.load(myURL);

ed8009
04.01.2011, 00:09
Извеняюсь, я просто новичок в этом форуме. Что вы мне посоветуете?

Contemplator
04.01.2011, 00:13
Что вы мне посоветуете?
сформулировать что именно хочется реализовать =)))
загрузку внешнего *.swf при нажатии на некую кнопку?

ed8009
04.01.2011, 00:17
addChild(myLoader);
myLoader.load(myURL);
я тоже догодался что в этом проблема... но не знаю как её исправить(((...Я хочу чтоб при нажатии на кнопку загружался swf и работал без ошибок(

Contemplator
04.01.2011, 00:20
addChild(myLoader);
myLoader.load(myURL);
я тоже догодался что в этом проблема... но не знаю как её исправить(((...Я хочу чтоб при нажатии на кнопку загружался swf и работал без ошибок(
"ActionScript 3.0 для Flash подробное руководство" К.Мук, гл 28 ;)
кстати, не в последовательности дело =))))

Cornford
04.01.2011, 00:21
опять же надо добавить событие

myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, myLoaderComplete);

ed8009
04.01.2011, 00:29
Contemplator - спасибо тебе за совет))
А код будет выглядеть вот так, после вставки события?:(

stop();// останавливаем наш ролик
//импортируем файлы
import flash.display.*;
import flash.net.URLRequest;
import flash.display.DisplayObject;
import flash.events.MouseEvent;
////////////////////////////////////////////////////////////////////
//события первого блока
block1_mc.doubleClickEnabled = true;
block1_mc.addEventListener(MouseEvent.DOUBLE_CLICK,goanimation);
function goanimation(event:MouseEvent):void {
gotoAndStop(2);

var myLoader:Loader = new Loader();
var myURL:URLRequest = new URLRequest("http://mitasov.ucoz.ru/fotogalereja.swf");
addChild(myLoader);
myLoader.load(myURL);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, myLoaderComplete);
function myLoaderComplete(e:Event):void{
myLoader.x = 0;
myLoader.y = 0;
myLoader.scaleX = 0.7;
myLoader.scaleY = 0.7;

}
}

Cornford
04.01.2011, 00:30
private function myLoaderComplete(event:Event):void {
addChild(myLoader);
myLoader.x = 0;
myLoader.y = 0;
myLoader.scaleX = 0.7;
myLoader.scaleY = 0.7;

}

ed8009
04.01.2011, 00:34
Спасибол всем, нашел свою ошибку:)