Показать сообщение отдельно
Старый 15.05.2013, 15:07
Yulia_V вне форума Посмотреть профиль Отправить личное сообщение для Yulia_V Найти все сообщения от Yulia_V
  № 1  
Ответить с цитированием
Yulia_V

Регистрация: Sep 2012
Сообщений: 57
По умолчанию Проблема переключения между кадрами.

После перехода со второго кадра на третий выдаёт TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at MethodInfo-338()
И не хочет со 2-го на 1-й возвращаться, хотя между остальными перекликается.
С другими кадрами таких проблем нет.
Подскажите, в чем проблема?
Код AS3:
		public function main2() {
	var var1:Boolean = false;
	vpered_btn.addEventListener(MouseEvent.CLICK, go_next);
	nazad_btn.addEventListener(MouseEvent.CLICK, go_prev);
	vpered_btn.buttonMode = true;
	nazad_btn.buttonMode = true;
		function go_next (e:MouseEvent):void
	{
		nextFrame();
	}
		function go_prev (e:MouseEvent):void
	{
		prevFrame();
	}
	addEventListener(Event.ENTER_FRAME, hi2);
	function hi2 (e:Event):void
	{
// Здесь код только для 2-го кадра
        if (currentFrame == 2)
	{
		var bounds:Object = {left:-275, right:825};
var currentX:Number = qwe.qw_mc.x;
var lastX:Number = qwe.qw_mc.x;
var vx:Number = 0;
var isDragging:Boolean = false;
var offset:Number;
qwe.qw_mc.buttonMode = true;
var timeline:TimelineLite;
 
addEventListener(Event.ENTER_FRAME, loop);
qwe.qw_mc.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
addEventListener(MouseEvent.MOUSE_UP, onUp);
 
function loop (e:Event):void
{
	if (isDragging)
	{
		lastX = currentX;
		currentX = mouseX;
		vx = currentX - lastX;
	}
 
}
 
function onDown (e:MouseEvent):void
{
	isDragging = true;
	offset = qwe.qw_mc.mouseX;
	addEventListener(MouseEvent.MOUSE_MOVE, onMove);
}
function onMove(e:MouseEvent):void
{
	qwe.qw_mc.x = qwe.mouseX - offset;
	if (qwe.qw_mc.x <= bounds.left)
		qwe.qw_mc.x = bounds.left;
	else if (qwe.qw_mc.x >= bounds.right)
		qwe.qw_mc.x = bounds.right;
	e.updateAfterEvent();
}
function onUp(e:MouseEvent):void
{
	isDragging = false;
	removeEventListener(MouseEvent.MOUSE_MOVE, onMove);
	var position:Number = qwe.qw_mc.x
if(position <= 0){
    qwe.textfield_txt.text = "Текст 3"
	var myTween3:TweenLite = new TweenLite(qwe.qw_mc, 2, {x:-275});
}else if(position <= 550 && position >0){   
    qwe.textfield_txt.text = "Текст 2"
	var myTween4:TweenLite = new TweenLite(qwe.qw_mc, 2, {x:275});
}else if(position <= 1100 && position >550){    
    qwe.textfield_txt.text = "Текст 1"
	var myTween5:TweenLite = new TweenLite(qwe.qw_mc, 2, {x:825});
 
 }
} 
	}
// Здесь код только для 3-го кадра
	if (currentFrame == 3)
	{
	btn1.addEventListener(MouseEvent.CLICK, e1);
	btn2.addEventListener(MouseEvent.CLICK, e2);
	btn3.addEventListener(MouseEvent.CLICK, e3);
	btn4.addEventListener(MouseEvent.CLICK, e4);
	btn5.addEventListener(MouseEvent.CLICK, e5);
	btn6.addEventListener(MouseEvent.CLICK, e6);
	btn1.buttonMode = true;
	btn2.buttonMode = true;
	btn3.buttonMode = true;
	btn4.buttonMode = true;
	btn5.buttonMode = true;
	btn6.buttonMode = true;
 
 
			function e1 (e:MouseEvent):void
	{
        eskiz.gotoAndStop(1);
	}
			function e2 (e:MouseEvent):void
	{
        eskiz.gotoAndStop(2);
	}
			function e3 (e:MouseEvent):void
	{
        eskiz.gotoAndStop(3);
	}
			function e4 (e:MouseEvent):void
	{
        eskiz.gotoAndStop(4);
	}
			function e5 (e:MouseEvent):void
	{
        eskiz.gotoAndStop(5);
	}
			function e6 (e:MouseEvent):void
	{
        eskiz.gotoAndStop(6);
	}
	}
Вот исходники:
Вложения
Тип файла: 7z для конференции.7z (4.82 Мб, 214 просмотров)


Последний раз редактировалось Yulia_V; 15.05.2013 в 16:10.