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

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

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

Регистрация: Dec 2013
Сообщений: 35
По умолчанию Вопрос про классы

Привет.
Таки никак не пойму чего-то.
1.Я создаю мувиклип и указываю что он, допустим, некий класс GG. Но код при этом пишу внутри клипа, в его кадрах.
2. Я вызываю экземпляр клипа new GG.
3. Все работает.
///Хочу сделать по-нормальному. Все говорят, правильно -эт надо чтоб все в классах было.
1. Беру тот же клип-класс GG. Делаю промежуточный класс, расширяющий GG, сохраняю с расширением .as. Тот же самый код пишу.
2. Я вызываю экземпляр класса.
3. Ошибок не пишет, но ничего не работает.
Хз, что я не так делаю?
Код AS3:
import flash.display.MovieClip;
import flash.display.StageDisplayState;
import flash.display.StageScaleMode;
 
stage.displayState = StageDisplayState.FULL_SCREEN;
stage.scaleMode = StageScaleMode.NO_SCALE;
 
 
//var speed:int = 10;
 
var gg:MainHiro = new MainHiro() ;
gg.x = 200;
gg.y = 200;
addChild(gg);
Код AS3:
package 
{
 
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Point;
	import flash.display.Stage;
 
 
 
	public class MainHiro extends GG
	{
		var fnX:int;
		var fnY:int;
		function get get_gg_x():Number
		{
			return fnX;
		}
		function get get_gg_y():Number
		{
			return fnY;
		}
 
		public function MainHiro()
		{
			var dir:Number = Math.atan2(mouseY-this.y, mouseX-this.x) / Math.PI * 180;
			dir +=  180;
			var speed:Point = new Point(Math.cos(dir/180*Math.PI), Math.sin(dir/180*Math.PI));
			if(!stage)return;
			stage.addEventListener(MouseEvent.CLICK, fnGetXY);
			stage.addEventListener(Event.ENTER_FRAME, enterFrame);
			function enterFrame(e:Event):void
			{
				var speed:Number = -1;
				var p:Point = new Point(fnX - this.x, fnY - this.y);
				p.normalize(speed);
				this.x +=  p.x;
				this.y +=  p.y;
			}
 
 
			function fnGetXY(event:MouseEvent):void
			{
				fnX = stage.mouseX;
				fnY = stage.mouseY;
			}
 
		}
	}
 
}

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

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

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


 


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


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