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

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

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

Регистрация: Mar 2011
Сообщений: 168
По умолчанию нет доступа к массиву

Сегодня наверное какой-то несчастливый день. Как я уже говорил "Дикие лаги" сыпятся один за другим. Вообщем, во время исполнения в Variables все хорошо, и массив виден и элементы его на месте. Но компилятор почему-то выдает ошибку в методе onDel_Click: Error #1010: A term is undefined and has no properties.
Код AS3:
package  {
	import flash.display.Stage;
	import flash.events.KeyboardEvent;
	import flash.system.fscommand;
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	import flash.display.MovieClip;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.display.Sprite;
	import flash.text.TextFormat;
	import fl.transitions.Tween;
	import fl.transitions.TweenEvent;
 	import fl.transitions.easing.*;	
 	import fl.core.UIComponent;
 
	public class Main extends Sprite{
		private var _stage:Object;
		private var _rt:Object;
		private var obj:MovieClip;
		private var masDisObj:Array = new Array();
		private var masDisObjTw:Array = new Array();
		private var tw:Tween;
		private var N:uint = 0;
	//-------------------------------------------------------------------------------------------------
		public function Main(rt:Object):void {
			super();
			_rt = rt;
			_stage = _rt.stage;			
 
			_rt.addEventListener(KeyboardEvent.KEY_DOWN, onKey_Down);
			_rt.addEventListener(MouseEvent.MOUSE_DOWN, onMouse_Down);
 
			_rt.exitWin_but.addEventListener(MouseEvent.MOUSE_OVER, onWinBut_Over);
			_rt.exitWin_but.addEventListener(MouseEvent.MOUSE_OUT, onWinBut_Out);
			_rt.exitWin_but.addEventListener(MouseEvent.CLICK, onWinBut_Click);
 
			_rt.maxWin_but.addEventListener(MouseEvent.MOUSE_OVER, onWinBut_Over);
			_rt.maxWin_but.addEventListener(MouseEvent.MOUSE_OUT, onWinBut_Out);
			_rt.maxWin_but.addEventListener(MouseEvent.CLICK, onWinBut_Click);
 
			_rt.minWin_but.addEventListener(MouseEvent.MOUSE_OVER, onWinBut_Over);
			_rt.minWin_but.addEventListener(MouseEvent.MOUSE_OUT, onWinBut_Out);
			_rt.minWin_but.addEventListener(MouseEvent.CLICK, onWinBut_Click);
		}
	//-----------------------------------------------------------------------------------------------------------------
		private function onWinBut_Click(e:MouseEvent):void{
			if(e.currentTarget == _rt.exitWin_but){
				_stage.nativeWindow.close();
			} else if(e.currentTarget == _rt.maxWin_but){
				if(_rt.maxWin_mc.currentFrame == 2){
					_stage.nativeWindow.maximize();
					(_rt.maxWin_mc as MovieClip).gotoAndPlay(3);
				} else if(_rt.maxWin_mc.currentFrame == 4){
					_stage.nativeWindow.restore();
					(_rt.maxWin_mc as MovieClip).gotoAndPlay(1);
				}
			} else if(e.currentTarget == _rt.minWin_but){
				_stage.nativeWindow.minimize();
			}
		}
	//--------------------------------------------------------------------------------------------
		private function onWinBut_Over(e:MouseEvent):void{
			if(e.currentTarget == _rt.exitWin_but){
				(_rt.exitWin_mc as MovieClip).gotoAndPlay(2);
			} else if(e.currentTarget == _rt.maxWin_but){
				if(_rt.maxWin_mc.currentFrame == 1){
					(_rt.maxWin_mc as MovieClip).gotoAndPlay(2);
				}else if(_rt.maxWin_mc.currentFrame == 3){
					(_rt.maxWin_mc as MovieClip).gotoAndPlay(4);
				}
			} else if(e.currentTarget == _rt.minWin_but){
				(_rt.minWin_mc as MovieClip).gotoAndPlay(2);
			}			
		}
	//-----------------------------------------------------------------------------------------------------------------
		private function onWinBut_Out(e:MouseEvent):void{
			if(e.currentTarget == _rt.exitWin_but){
				(_rt.exitWin_mc as MovieClip).gotoAndPlay(1);
			} else
			if(e.currentTarget == _rt.maxWin_but){
				if(_rt.maxWin_mc.currentFrame == 2){
					(_rt.maxWin_mc as MovieClip).gotoAndPlay(1);
				}else if(_rt.maxWin_mc.currentFrame == 4){
					(_rt.maxWin_mc as MovieClip).gotoAndPlay(3);
				}
			} else
			if(e.currentTarget == _rt.minWin_but){
				(_rt.minWin_mc as MovieClip).gotoAndPlay(1);
			}	
		}	
	//---------------------------------------------------------------------------------------------
		private function onMouse_Down(e:MouseEvent):void{
			_stage.nativeWindow.startMove();
		}
	//---------------------------------------------------------------------------------------------
		private function onKey_Down(e:KeyboardEvent):void{
			switch(e.keyCode){
				case 27:{
					_stage.nativeWindow.close();
					break;
				}
			}
		}
	//----------------------------------------------------------------------------------------------
		public function init():void{		
			obj = new FN();
			obj.x = _stage.stageWidth/2;
			obj.y = 170;
			masDisObj.push(obj);
			masDisObjTw.push(new Tween(masDisObj[0],"x",Elastic.easeOut,masDisObj[0].x,masDisObj[0].x,1,true));
			_stage.addChild(masDisObj[0]);
 
			_rt.addMess.addBut.addEventListener(MouseEvent.CLICK, onAdd_Click);
			_rt.addMess.delBut.addEventListener(MouseEvent.CLICK, onDel_Click);
			_rt.addMess.createBut.addEventListener(MouseEvent.CLICK, onCreate_Click);
		}
	//---------------------------------------------------------------------------------------------------
		private function onAdd_Click(e:MouseEvent):void{ 
			if(N == 9){
				trace("Достигнуто максимальное число столбцов");
				return;
			}
			for(i=0; i<masDisObjTw.length; i++){
				if(masDisObjTw[i].isPlaying){
					return;
				}
			}
			var d:uint = 40;
			var m:uint = 40;
			if(masDisObj.length == 1){
				d = 40;
				m = 70;
			}			
			for(var i:uint=0;i<masDisObj.length; i++){
				masDisObjTw[i].continueTo(masDisObj[i].x-d,1);
			}
			obj = new Field();
			obj.x = masDisObj[i-1].x+m; 
			obj.y = 170;
			masDisObj.push(obj);
			masDisObjTw.push(new Tween(masDisObj[i],"x",Elastic.easeOut,masDisObj[i].x,masDisObj[i].x,1,true));
			_stage.addChild(masDisObj[masDisObj.length - 1]);		
			N++;
		}
	//--------------------------------------------------------------------------------------------
		private function onDel_Click(e:MouseEvent):void{
			if(N == 0){
				trace("Достигнуто минимальное число столбцов");
				return;
			}
			for(var i:uint=0; i<masDisObjTw.length; i++){
				if(masDisObjTw[i].isPlaying){
					return;
				}
			}
			var d:uint = 40;
			var m:uint = 40;
			if(masDisObj.length == 1){
				d = 40;
				m = 70;
			}			
			_stage.removeChild(masDisObj[masDisObj.length - 1]);			
			masDisObj.length--;
			masDisObjTw.length--;
			for(var i:uint=masDisObj.length-1;i>=0;i--){
			masDisObjTw[i].continueTo(masDisObj[i].x+d,1); //ВОТ В ЭТОМ МЕСТЕ ОШИБКА
			}
			N--;
		}
	//-------------------------------------------------------------------------------------------
		private function onCreate_Click(e:MouseEvent):void{
 
		}
	//--------------------------------------------------------------------------------------------
	}
}
Вложения
Тип файла: zip Table.zip (425.3 Кб, 35 просмотров)

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

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

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


 


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


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