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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.11.2006, 20:46
dacino вне форума Посмотреть профиль Отправить личное сообщение для dacino Найти все сообщения от dacino
  № 1  
Ответить с цитированием
dacino
[+1.3 15.11.06]
[+1 12.01.07]

Регистрация: Nov 2006
Сообщений: 149
Отправить сообщение для dacino с помощью ICQ
Question метод из глубока

положым есть у нас есть класс
Код:
class MyC{
	var mc:MovieClip;
	var _name:String;
	//и что-нибудь еще
	function MyC(nam){
		this._name = nam;		
	}
	function nCl(type,depth){
		var cl = _root.attachMovie("ClMC","cl"+tdepth,tdepth);
		var butt = cl.createClassObject("Button","butt",100);
		if type=="sqrt"{
			butt.onRelease = function{
			this.caption = "sqrt";
			//?здесь сослаться на функцию drawsqrt(this._parent,this._x,this._y,...); 
	}
		else{
			butt.onRelease = function{
			this.caption = "line";
			//?здесь сослаться на функцию drawline(this._parent,this._x,this._y,...); 
		}
		return cl;
	}
	function drawsqrt(mc:MovieClip,x,y,h,w){			
		with(mc){
			clear();
			lineStyle(2, 0x000000, 100); moveTo(x-15, y+int(h/2)); lineTo(x-10, y+int(h/2)); lineTo(x-5, y+h); lineTo(x, y-5); lineTo(x+w, y-5);
		}
	}
	function drawline(mc:MovieClip,x,y,h,w){
	wirh(mc){
		clear();
		moveTo(x,y+h); lineTo(y+h,x+w);
		}
	}
}
//? - как такую ссылку/вызов функции (уж как правильно выразиться и не знаю) реализовать?
или если в корне не прав, предложите иной подход, заранее благодарен

Старый 19.11.2006, 21:02
BigDan вне форума Посмотреть профиль Отправить личное сообщение для BigDan Найти все сообщения от BigDan
  № 2  
Ответить с цитированием
BigDan
 
Аватар для BigDan

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
До конца не понял вопрос. Ты хочешь в классе вызвать определённую функцию?

Старый 19.11.2006, 21:48
dacino вне форума Посмотреть профиль Отправить личное сообщение для dacino Найти все сообщения от dacino
  № 3  
Ответить с цитированием
dacino
[+1.3 15.11.06]
[+1 12.01.07]

Регистрация: Nov 2006
Сообщений: 149
Отправить сообщение для dacino с помощью ICQ
ну типа того, у класса функции что то рисующие муве(итих мувов будет много), есть метод создающий мув, на этом муве расположена к примеру кнопочка, и в зависимости от того, с каким параметром "type" был создан мув, при нажатии на нее(кнопочку), должна вызываться некоторая функция(она же и метод класса) в примере drawsqrt или drawline

Старый 20.11.2006, 00:32
dacino вне форума Посмотреть профиль Отправить личное сообщение для dacino Найти все сообщения от dacino
  № 4  
Ответить с цитированием
dacino
[+1.3 15.11.06]
[+1 12.01.07]

Регистрация: Nov 2006
Сообщений: 149
Отправить сообщение для dacino с помощью ICQ
народ, реально, ай ниид хелп, практическую часть диплома на PHP почти сделал, а вот то что касается Flash - тормозю жутко, или подскажить толковую книгу по AS(не для начинающих) которые есть у меня, там все пространственно...
и при создании нестандартных приложений от них мало толку
P.S
(хотя можно выдвинуть и другое предположение что дело не в книгах, а в том кто их читает, но это будет уже иное предположение)

Старый 20.11.2006, 01:47
dacino вне форума Посмотреть профиль Отправить личное сообщение для dacino Найти все сообщения от dacino
  № 5  
Ответить с цитированием
dacino
[+1.3 15.11.06]
[+1 12.01.07]

Регистрация: Nov 2006
Сообщений: 149
Отправить сообщение для dacino с помощью ICQ
не меня наверно реально приперет биться головой о стену, кричать что не знаю как это написать - спрашивать народ, а через пару часов самому найти решение.
если кому требо вот как решил я проблему такого вызова функций:
все эти вызываемые функции я поместил в отдельный класс, и когда нужно вызвать одну из них создаю экземпляр этого класса и обращаюсь к соотв. методу.

да походу вопрос: Господа Гуру Флеша, какой код будет производительнее - написанный при помощи классов или аналогичный, реализованный в функциях, насколько знаю в php последний работает шустрей, а как в AS?

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

Регистрация: Feb 2001
Сообщений: 152
Ну я не гуру, могу и ошибаться...

На текуший момент флэшплэеры не поддерживают полноценные ООП, и поэтой причине все навороты с классами, являются надстройками. Т.е. при компиляции FLA->SWF классы преобразуются в обычные процедурные инструкции. При этом возможно порождение мусорного кода... который в принципе способен вызывать торможения.

НО на мой взгляд при БОЛЬШИНСТВЕ решаемых флэшерами задач, это торможение является ПРИНЕБРЕЖИМО МАЛЫМ. И кстати говоря не следует забывать о вот еще каком моменте: при компиляции ООП в процедурные байт-коды, используется алгоритм созданный разработчиками, т.е. людьми ГИПОТЕТИЧЕСКИ ЗНАЮЩИМИ, как флэш устроен "изнутри", и потому способными использовать наиболее быстродействующие приемы. Дабы достичь аналогичного эффекта самостоятельно следует быть не просто ГУРУ, а ГУРУ ПО ОПТИМИЗАЦИИ БЫСТРОДЕЙСТВИЯ.

Кстати в большинстве задач перед разработчиком не стоит задачу сделать ШУСТРУЮ программу, перед ним стоит задача ШУСТРО сделать программу.

Многие вещи работают быстрее если их написать на ассемблере, но на ассемблере сегодня пишет все меньше и меньше народа ибо процесс трудое$кий...
__________________
PITer

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

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

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


 


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


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