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

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

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код находится в классе, он же не на кнопках написан =)

Старый 01.11.2007, 13:44
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 42  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
ну всё равно...для меня не удобно...мне кажется лучше сделать, по простому говоря, главный класс, который будет создавать объекты других классов, навешивать им события и т.д. Так проще работать, переходить от одного класса к другому...гибкая навигация и ошибку легче найти (опять таки всё это имхо, и я не утверждаю, что это правильнее...просто мне так удобнее)
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 01.11.2007, 13:49
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 43  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Цитата:
Объясните мне пожалуйста. Зачем мне использовать различные фабрики или способ wvxvw для создания мувика или текстового поля, если просто напросто можно создать пустой мувик в библиотеке и связать его с классом? Только потому, что в других языках все обстоит по другому?
1) Классы по сути своей реюзабильны, тоесть при переносе классов из одного проекта в другой, нужно убедиться что все нужные пустые мувики существуют(а не нужных нету).
2) Чтобы не зависеть от FLA файла, и легко переходить на MTASC например(который компилирует раз в 50 быстрее флэша).
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 01.11.2007, 15:44
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 44  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от udaaff
Объясните мне пожалуйста. Зачем мне использовать различные фабрики или способ wvxvw для создания мувика или текстового поля, если просто напросто можно создать пустой мувик в библиотеке и связать его с классом? Только потому, что в других языках все обстоит по другому?
А вот потому что я теперь ведущий (ну и замыкающий по совместительству) специалист =) И должен очень часто заниматься тем, что правлю чужие, а еще хуже доделываю/переделываю чьи-то творения перед тем, как их куда-то вывесить. И если заказов достаточно и работать не хочется (ну прям как сейчас, например %). То человека, который принесет мне ФЛА с парой-тройкой сотен лайбрари-айтемов, из которых несколько десятков экспортируются с привязкой к классу, и скажет, что у него что-то не работает... я просто элементарно откажусь этим заниматься - пусть идет и сам мучается с тем, что натворил. В больших проэктах этот способ не просто не удобный, он меганеудобный.

ЗЫ. Я тут ничего такого особенного не писал... какой-такой "мой" способ создания клипов? =)
__________________
Hell is the possibility of sanity

Старый 01.11.2007, 16:10
Ostgur вне форума Посмотреть профиль Отправить личное сообщение для Ostgur Посетить домашнюю страницу Ostgur Найти все сообщения от Ostgur
  № 45  
Ответить с цитированием
Ostgur
 
Аватар для Ostgur

Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
а чем принципиально отличается класс от функции? нелегче написать кучу функций и также импортировать их?

Старый 01.11.2007, 16:12
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 46  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
Цитата:
а чем принципиально отличается класс от функции? нелегче написать кучу функций и также импортировать их?
так многие утверждают, которые не хотят переходить на классы по тем или иным причинам...сам проходил через это...поверьте, не легче
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 01.11.2007, 19:50
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 47  
Ответить с цитированием
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
Наконецто в руках рабочий пример Wvxvw Спасибо
но радость была недолгай, гора высока а путь долгий...
можно попросить помочь разобратся шаг за шагом на данном этапе ?

Класс который рисует звёздочку:
Код:
class Star {
	static function _create(Obj:Object):MovieClip {
		//
		var Width_Stage:Number = 550;
		var Height_Stage:Number = 400;
		var COLOR_BOX:Array = [0x9999CC, 0x00CCFF, 0x66CCFF, 0xFF99CF, 0x0033CC];
		//
		var char:MovieClip = Obj.targ.createEmptyMovieClip("box", Obj.targ.getNextHighestDepth());
		char.beginFill(COLOR_BOX[int(Math.random()*(COLOR_BOX.length-1))]);
		char.moveTo(-5, -1);
		char.lineTo(-5, -1);
		char.lineTo(5, -1);
		char.lineTo(5, 1);
		char.lineTo(-5, 1);
		char.endFill();
		char._x=Width_Stage/2, char._y=Height_Stage/2;
		return char;
	}
}
Класс который приводит её в движение:
Код:
class Go {
	static function _move(mc:MovieClip):Void {
		//
		var go:Number = 5+int(Math.random()*18);
		var alf:Number = int(Math.random()*10);
		var rad:Number = Math.PI/180;
		var Rotation:Number = int(Math.random()*360);
		//
		mc.onEnterFrame = function():Void  {
			this._x += Math.cos(Rotation*rad)*go;
			this._y += Math.sin(Rotation*rad)*go;
			this._rotation = Rotation;
		};
	}
	static function _stop(mc:MovieClip):Void {
		delete mc.onEnterFrame;
	}
}
Файл fr_star.as где следующий код:
Код:
import Star;
import Go;
var _mc:MovieClip = Star._create({targ:this});
Go._move(_mc);
setTimeout(Go._stop,12000,_mc);
Ну и на самой сцене в первом кадре:
Код:
#include "fr_star.as"
Эх... Для начала хотелось спросить, каким образом нужно правильно создовать переменные внутрение и общие
Можно ли создать класс "Go" таким что бы он работал для всех мувиклипов для которых его назначили независимо от их имён в нём самом:
что так работало:
Код:
Go._move(_mc1);
Go._move(_mc2);
Go._move(_mc3);
если нет то какие есть альтернативы?

Жуть а ведь говорили мне не лезь
Но всё же увы отступать нельзя
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники


Последний раз редактировалось D12; 01.11.2007 в 19:52.
Старый 01.11.2007, 20:31
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 48  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Ужоснах
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 02.11.2007, 00:23
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 49  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Nirth:
Ну, млин. Человек что-то сделал, и это даже работает =)

D12:
Смотри... я как бы не думал, что ты будешь это копировать... Сорь, наверное не стоило меня слушать. Но я все равно попробую обьяснить =)

Создавать статические функции для твоей задачи - не лучшее решение. Ну, как бы это точно имеет мало общего с ООП. А вообще, лучше я напишу, как бы я это сделал, мб так будет понятнее, и проще обьяснить.
Код:
import mx.transitions.Tween;
import mx.transitions.easing.*;
//
class Star {
	private var __base:MovieClip;
	private var __gfx:MovieClip;
	private var __tw:Tween;
	private static var __count:Number = 0;
	function Star(mc:MovieClip){
		__base = mc;
		__draw();
		__count++;
	}
	//------- private ---------//
	private function __draw():Void {
		__tw.stop();
		__gfx.removeMovieClip();
		__gfx = __base.createEmptyMovieClip("__gfx",__base.getNextHighestDepth());
		__gfx.beginFill(0,100);
		__gfx.moveTo(0,0);
		__gfx.lineTo(100,0);
		__gfx.lineTo(100,100);
		__gfx.lineTo(0,100);
		__gfx.lineTo(0,0);
		__gfx.endFill();
	}
	//------- public -------------//
	public function __move(from:Number,to:Number,sec:Number):Void {
		__tw = new Tween(__gfx,"_x",Elastic.easeOut,from,to,sec,true);
	}
	public function __stop():Void {
		__tw.stop();
	}
	//------------ get/set -------//
	public function set x(n:Number):Void {
		__gfx._x = n;
	}
	public function get x():Number {
		return __gfx._x;
	}
	public function set y(n:Number):Void {
		__gfx._y = n;
	}
	public function get y():Number {
		return __gfx._y;
	}
	public function set w(n:Number):Void {
		__gfx._width = n;
	}
	public function get w():Number {
		return __gfx._width;
	}
	public function set h(n:Number):Void {
		__gfx._height = n;
	}
	public function get h():Number {
		return __gfx._height;
	}
	//-------- debugger --------//
	public function toString():String {
		return "[Star"+__count+"]";
	}
}
Код:
var s:Star = new Star(this);
s.__move(10,300,10);
trace(s);
Вот. собственно, лучше создавать объекты с определенными свойствами, назовем их модулями, из которых потом при желании можно комбинировать более сложные конструкции. Возможно, мой код - не лучшая реализация двигающегося квадратика, но, как для примера, вполне должно подойти =) Я тут попытался показать, например, зачем может пригодится статическая переменная, но это опять же, скорее для наглядности, для реализации двигающегося квадратика и половины тут написанного не нужно =)
__________________
Hell is the possibility of sanity

Старый 02.11.2007, 00:47
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 50  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Цитата:
Ну, млин. Человек что-то сделал, и это даже работает =)
Да не, у меня к нему притензий нету=) и я с тобой полностью согласен=)
Цитата:
Смотри... я как бы не думал, что ты будешь это копировать... Сорь, наверное не стоило меня слушать.
Блин был бы топик о АС3 я бы объяснил, а так даже редактора ас2 нету=)
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

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

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


 


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


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