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

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

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

Регистрация: Jul 2008
Сообщений: 107
Question AS1. Создание классов.

Здравствуйте. Хочу вот разобраться с классами (пока AS1). Куча пересмотренных и перечитанных примеров…а начинаю делать своё, понимаю, что путаю “модуляцию” с “холодильником”. Я выложил свой исходник. И у меня такой вопрос: можно ли для этой веревки сделать класс, чтобы можно было с меньшим количеством строк кода создавать ей подобных. Не знаю, может я глупость написал. В общем, если это возможно, покажите, пожалуйста. Может быть, на своем примере до меня дойдет, что же это за беда такая и что в неё пихать можно.
Вложения
Тип файла: rar help_me.rar (4.2 Кб, 79 просмотров)

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

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
as1 устарел и всё что хорошее там было теперь есть в as2. Читайте сразу про него.
Ваш пример в моей версии Флеша не открывается.

Старый 09.09.2008, 12:30
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 3  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
В AS1 это можно сделать, например так:

Код:
//////////////////////////////
////  класс ClassRope   //////
//////////////////////////////

function ClassRope(a, point, hm){
	this.a=a
	this.point=point
	this.hm=hm
	this.onEnterFrame=this.dryg
}

////  методы класса ClassRope ///////////

ClassRope.prototype.dryg=function(){
	if (this.hm) {
		this.cy = this._y=this.point+this.r*Math.sin(this.a);
		this.a += .7;
		this.r -= this.r/15;
		clear();
		this.draw(0,200,550,200,225,this.cy);
	}
}

ClassRope.prototype.draw=function(ax, ay, bx, by, cx, cy){
	this.cy=cy
	_root.lineStyle(2,0xFFFF00);
	_root.moveTo(ax,ay);
	_root.curveTo(cx,cy,bx,by);
}

ClassRope.prototype.onMouseDown=function(){
	this.hm = true;
	this.r = Math.abs(_root._ymouse-this.point);
}

////////////////////////////////

// а теперь собственно подключение любого мувика к классу ClassRope:
q.__proto__=new ClassRope(0,200,false)

Цитата:
Сообщение от Mnilionic Посмотреть сообщение
as1 устарел и всё что хорошее там было теперь есть в as2.
AS1 устарел не более, чем AS2. К тому же AS1 более гибкий, чем AS2 и AS3. Ограничения AS1 на настоящий момент являются исскуственно созданными компанией адоб и зависят не от AS1 как такового, а от AVM.

NB!
Что такое прототипы
Битва гигантов: AVM1 vs. AVM2. Спешите видеть! Только у нас!

Старый 09.09.2008, 12:49
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от chingachgoog Посмотреть сообщение
Ограничения AS1 на настоящий момент являются исскуственно созданными компанией адоб и зависят не от AS1 как такового, а от AVM.
А давайте вы больше не будете начинать это всё вновь, ок? Показали пример, а размышления по поводу языков оставьте при себе.
Иначе вы своими чудо-классами научите черт знает чему, а потом нормальных флешеров на работу днём с огнём не найдешь.


Последний раз редактировалось etc; 09.09.2008 в 12:51.
Старый 09.09.2008, 10:15
Lou вне форума Посмотреть профиль Отправить личное сообщение для Lou Найти все сообщения от Lou
  № 5  
Ответить с цитированием
Lou
 
Аватар для Lou

Регистрация: Jul 2008
Сообщений: 107
Спасибо,но мне кажется, что я многого не пойму и многое потеряю. Нужно клип q создать и кинуть его на стол.
Код:
var a:Number = 0;
var point:Number = 200;
var hm:Boolean = false;
q._visible = false;


q.onEnterFrame = function():Void  {
	if (hm) {

		cy = this._y=point+r*Math.sin(a);
		a += .7;
		r -= r/15;
		clear();
		draw(0,200,550,200,225,cy);
		updateAfterEvent();
		if (r<=0) {
			this._y = point;
			hm = false;
			delete this.onEnterFrame;
		}
			}
};

_root.onMouseDown = function():Void  {
	hm = true;
	r = Math.abs(_root._ymouse-point);
};


function draw(ax:Number, ay:Number, bx:Number, by:Number, cx:Number, cy:Number):Void {
	lineStyle(2,0xFFFF00);
	moveTo(ax,ay);
	curveTo(cx,cy,bx,by);
}

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

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
замечательная верёвочка.
Создавайте клас на основе МувикаКлипа
Задавайте методы.
И всё должно работать. Только запуск "мотыляния" надо не на клик в руте вешать, а на что нить другое а то все копии этих верёвок будут одновременно срабатывать

Старый 09.09.2008, 11:57
Lou вне форума Посмотреть профиль Отправить личное сообщение для Lou Найти все сообщения от Lou
  № 7  
Ответить с цитированием
Lou
 
Аватар для Lou

Регистрация: Jul 2008
Сообщений: 107
Спасибо за внимание. Понимаете, я уже неделю пытаюсь это сделать и скоро повешусь на этой веревочке... проблемма в том, что от переизбытка информации граница между переменными, свойствами и методами практически стерта... Я не понимаю что и где должно определяться, что должно быть внутри самого класса. Мне бы структуру этого всего.... а то, что все клипы на клик реагируют, то Бог с ним.. мне бы принцип понять.

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

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
создайте пустой класс наследуемый от Мувиклипа. Это прочли как делать?
Потом создайте внутри класса методы (функции), которые у вас уже есть + небольшое изменение для удобства:
функция старта мотыляния, остановки, процесса мотыляния и функция рисованию... всё
затем обьявляете свойтсва, которые у вас уже есть ( var ... )

А потом настраиваете это так чтоб работала не из рута, а как самостоятельный клип.

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

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
и шо это, извините, за бред?
вы бы хоть попытались создать пару экземпляров и вписать в параметры что-нить помимо (0, 200)

Старый 09.09.2008, 12:52
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 10  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от Mnilionic Посмотреть сообщение
и шо это, извините, за бред?
вы бы хоть попытались создать пару экземпляров в руте и вписать в параметры что-нить помимо (0, 200)
Почему бред? Это аналог авторского кода переведенного, как и хотел автор, на AS1 с классами.

Где у автора, "что-нибудь с параметрами отличными от (0, 200)"?
Где у автора "пара экземпляров"?

Зачем человеку пудрить мозг создавая, что-то мега-навороченное? Это, считайте, учебный пример по классам в AS1.

Цитата:
Сообщение от __etc
А давайте вы больше не будете начинать это всё вновь, ок? Показали пример, а размышления по поводу языков оставьте при себе.
Совершенно согласен с "не начинать вновь" - именно поэтому я ограничился коротким ответом и ссылкой на тему обсуждения.

Цитата:
Сообщение от __etc
Иначе вы своими чудо-классами научите черт знает чему, а потом нормальных флешеров на работу днём с огнём не найдешь.
Насильно мил не будешь. Люди спрашивают - отвечаем.
А про "нормальных" и "чудо-классы" - это вы туда - в ту тему. Тут не надо.


Последний раз редактировалось chingachgoog; 09.09.2008 в 12:57.
Создать новую тему Ответ Часовой пояс GMT +4, время: 03:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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