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

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

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

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

Здравствуйте! Наткнулся на какой-то "ДИКИЙ ЛАГ", вообщем в функции-приемнике onAdd_Click, не создается экземпляр класса Sprite и TextField также. Если перенести весь код функции допустим в конструктор класса Main() то все будет ок! Пожалуйста, помогите разобраться. Зарание спасибо!
Вложения
Тип файла: zip table.zip (424.0 Кб, 34 просмотров)

Старый 12.06.2011, 15:39
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Max360, советую завести себе привычку писать коды возникающих ошибок, а не что-то типа "какой-то "ДИКИЙ ЛАГ"".

Что значит не создается. Что там просиходит вообще?

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

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Пожалуйста, помогите разобраться
ошибка в невнимательности.

Добавлено через 1 минуту
Цитата:
Что там просиходит вообще?
Для тех, кому влом скачивать и распаковывать
Код 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;
 
	public class Main extends Sprite{
		private var _stage:Object;
		private var _rt:Object;
		private var obj:MovieClip;
		private var masDisObj:Array = new Array();
	//-----------------------------------------------------------------------------------------------------------------
		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);
			_stage.addChild(masDisObj[masDisObj.length - 1]);
 
			_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{ 
			var container:Sprite = new Sprite();
			container.x = 100;
			container.y = 100;
 
			var tf:TextField = new TextField();
			tf.embedFonts = true;
			tf.maxChars = 40;
			tf.multiline = true;
			tf.wordWrap = true;
			tf.text = _rt.addMess.txtFld.text;
			tf.autoSize = TextFieldAutoSize.CENTER;
			container.addChild(tf);
 
			_stage.addChild(container);
		}
	//-----------------------------------------------------------------------------------------------------------------
		private function onDel_Click(e:MouseEvent):void{
 
		}
	//-----------------------------------------------------------------------------------------------------------------
		private function onCreate_Click(e:MouseEvent):void{
 
		}
	//-----------------------------------------------------------------------------------------------------------------
	}
 
}

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

Регистрация: Mar 2011
Сообщений: 168
goodguy, если бы вылетала ошибка, то я бы обязательно ее написал. Мог бы более конкретней объяснить в чем проблема - так и сделал бы. Вообщем вроде бы оно заработало, но по какой причине я до сих пор не могу понять. Тему можно закрыть.

Добавлено через 4 минуты
Извиняюсь, за некорректный вопрос.

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

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

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


 


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


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