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

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

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

Регистрация: Jun 2006
Сообщений: 27
Отправить сообщение для GladiatoR_Alex с помощью ICQ
По умолчанию Вопрос о переносе кода с AS2 на AS3

Немногим раньше был такой код:
где в глобал сохранялись статусы нажатия на тот или иной rect
Код AS1/AS2:
speed = 2.5;
ini_h = 90;
target_width = 290;
sp = rect1._y;
this.createEmptyMovieClip("emptymc", 0); // this = _level0
emptymc.onEnterFrame = function()
{
	for (i=0; i<=3; i++)
	{
		if (_global.pres[0]==0 && _global.pres[1]==0 && _global.pres[2]==0 && _global.pres[3]==0)
		{
			new_y = 140+_root.sp-rect1._y;
			rect1._y += new_y/(speed+50);
			n_height2 = ini_h-_root["rect"+i]._height;
			_root["rect"+i]._height += n_height2/(speed-1);
		}
		else
		{
			if (_global.pres[i]==1)
			{
				new_y = (_root.sp-(90*(i-1)))-rect1._y;
				rect1._y += new_y/speed;
				n_height = target_width-_root["rect"+i]._height;
				_root["rect"+i]._height += n_height/speed;
			} else {
				n_height2 = ini_h-_root["rect"+i]._height;
				_root["rect"+i]._height += n_height2/speed;
			}
		}
		_root["rect"+(i+1)]._y = _root["rect"+i]._y+_root["rect"+i]._height+10;
	}
};
Вопрос: как его переписать на АС3?


Последний раз редактировалось GladiatoR_Alex; 17.08.2009 в 23:45.
Старый 17.08.2009, 23:39
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Использовать статические переменные.

Старый 17.08.2009, 23:43
GladiatoR_Alex вне форума Посмотреть профиль Отправить личное сообщение для GladiatoR_Alex Найти все сообщения от GladiatoR_Alex
  № 3  
Ответить с цитированием
GladiatoR_Alex
 
Аватар для GladiatoR_Alex

Регистрация: Jun 2006
Сообщений: 27
Отправить сообщение для GladiatoR_Alex с помощью ICQ
А можно подробнее? Как управлять на руте динамическими именами? И если не трудно показать пример "переворота этой функции на АС3. Остальное я сам доковыряю...

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
а может не использовать статические переменные, а диспатчить в управляющий класс и там рулить на уровне приватных свойств экземпляра?
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

Регистрация: Jun 2006
Сообщений: 27
Отправить сообщение для GladiatoR_Alex с помощью ICQ
А как обращаться к динамическим названиям, типа: _root["rect"+(i+1)]._y?

Старый 18.08.2009, 00:25
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
2cleptoman: кастомным классом диспачить? Или с просьбой обновиться?
Тогда лучше сеттерами/геттерами.

2автор: root не используй, добавляй из базового класса по возможности и храни на всё ссылки. Для имен - getChildByName(...).
Переписывать сейчас лень - пол 3 ночи)

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

Регистрация: Jun 2006
Сообщений: 27
Отправить сообщение для GladiatoR_Alex с помощью ICQ
Прошу всё таки уважаемых метров АС3 помочь в переписи мне этого кода на АС3. Пока некоторые моменты очень туго даются. Хотя на ас/ас2 делал и делаю много интересных и больших проектов. Но я чувствую что надо переходить и срочно на ас3. но сдинамическим обращением не могу понять как именно это реализовать

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Сообщение от GladiatoR_Alex Посмотреть сообщение
А как обращаться к динамическим названиям, типа: _root["rect"+(i+1)]._y?
Например сохранять объекты в массиве.

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

Регистрация: Jun 2006
Сообщений: 27
Отправить сообщение для GladiatoR_Alex с помощью ICQ
Добавлено через 5 часов 12 минут
Спасибо, огромное, Тигру, за то что помог мне всё в ПМ.
Есть еще один вопрос:
Например, как динамически добавить на рут или в нужный мне мувик 10 раз, мувик Box из библиотеки со сдвигом, допустим по у (каждого), чтобы, потом в любой момент, я мог получить доступ к любому из них. Еще и обработчик события нажатия мыши на каждый повесить?

Добавлено через 35 часов 36 минут
Люди, помогите пожалуйста


Последний раз редактировалось GladiatoR_Alex; 18.08.2009 в 12:49.
Создать новую тему Ответ Часовой пояс GMT +4, время: 19:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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