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

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

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

Регистрация: Oct 2012
Сообщений: 2
Flame Из AS2 в AS3

Не могу быстро переделать код флеша, переход связан с анимацией в 3Д.

Может найдутся хорошие люди, которые мне помогут? Есть код в AS2, надо в AS3. Можно было попробовать методом треуголников переделать анимацию, но я не силен в AS , даже этот код брал с примеров и подрабатывал под свою задачу

Код:
_root._quality = "BEST";
stop();
logo_mc.stop();
zeleniy_mc.stop();
kori4_mc.stop();
polzunok2.stop();
med_mc.stop();
grey_mc.stop();
uprav.playpause.pp._visible = false;
polzunok2._visible = false;


zeleniy_mc._visible = false;
kori4_mc._visible= false;
med_mc._visible = false;
grey_mc._visible = false;

color.zelen.onRelease = function()
{  var cadr:Number =_root.namegont._currentframe;
var coordx:Number =_root.namegont._x;
var coordy:Number =_root.namegont._y;


    _root.namegont._visible = false; zeleniy_mc._visible = true;_root.namegont=zeleniy_mc; 
	uprav.playpause.pp._visible = false;
	uprav.playpause.playv._visible = true;
	_root.namegont.stop();
	polzunok2._visible = false;
	uprav.polzunok._visible = true;
	polzunok2.stop();
	 _root.uprav.polzunok._x=(cadr*1.725)+54;
	
	
	_root.namegont.gotoAndStop(cadr);
	_root.zoom_func();
	_root.namegont._x= coordx;
	_root.namegont._y= coordy;
	_root.v._x=300;

}
color.krasniy.onRelease = function()
{     var cadr:Number =_root.namegont._currentframe;
var coordx:Number =_root.namegont._x;
var coordy:Number =_root.namegont._y;
_root.namegont._visible = false; logo_mc._visible = true;  _root.namegont=logo_mc;
	 uprav.playpause.pp._visible = false;
	uprav.playpause.playv._visible = true;
	_root.namegont.stop();
	polzunok2._visible = false;
	uprav.polzunok._visible = true;
	polzunok2.stop();
	_root.uprav.polzunok._x=(cadr*1.725)+54;
	_root.namegont.gotoAndStop(cadr);
	_root.zoom_func();
	_root.namegont._x= coordx;
	_root.namegont._y= coordy;
	_root.v._x=255;
}
color.kori4.onRelease = function()
{   var cadr:Number =_root.namegont._currentframe;
var coordx:Number =_root.namegont._x;
var coordy:Number =_root.namegont._y;
_root.namegont._visible = false; kori4_mc._visible = true;_root.namegont=kori4_mc; 
	 uprav.playpause.pp._visible = false;
	uprav.playpause.playv._visible = true;
	_root.namegont.stop();
	polzunok2._visible = false;
	uprav.polzunok._visible = true;
	polzunok2.stop();
	_root.uprav.polzunok._x=(cadr*1.725)+54;
	_root.namegont.gotoAndStop(cadr);
	_root.zoom_func();
	_root.namegont._x= coordx;
	_root.namegont._y= coordy;
	_root.v._x=344;
}
color.seriy.onRelease = function()
{   var cadr:Number =_root.namegont._currentframe;
var coordx:Number =_root.namegont._x;
var coordy:Number =_root.namegont._y;
_root.namegont._visible = false; grey_mc._visible = true;_root.namegont=grey_mc; 
	 uprav.playpause.pp._visible = false;
	uprav.playpause.playv._visible = true;
	_root.namegont.stop();
	polzunok2._visible = false;
	uprav.polzunok._visible = true;
	polzunok2.stop();
	_root.uprav.polzunok._x=(cadr*1.725)+54;
	_root.namegont.gotoAndStop(cadr);
	_root.zoom_func();
	_root.namegont._x= coordx;
	_root.namegont._y= coordy;
	_root.v._x=433;
}
color.medniy.onRelease = function()
{   var cadr:Number =_root.namegont._currentframe;
var coordx:Number =_root.namegont._x;
var coordy:Number =_root.namegont._y;
_root.namegont._visible = false; med_mc._visible = true;_root.namegont=med_mc; 
	 uprav.playpause.pp._visible = false;
	uprav.playpause.playv._visible = true;
	_root.namegont.stop();
	polzunok2._visible = false;
	uprav.polzunok._visible = true;
	polzunok2.stop();
	_root.uprav.polzunok._x=(cadr*1.725)+54;
	_root.namegont.gotoAndStop(cadr);
	_root.zoom_func();
	_root.namegont._x= coordx;
	_root.namegont._y= coordy;
	_root.v._x=388.5;
}


if (!namegont){var namegont:String=logo_mc; } 



//
//Функция МАСШТАБИРОВАНИЯ
//
function zoom_func() {
	trace("zoom_func");
		if (_root.pan_mc.pan_mc._y<-1) {
		_root.namegont._xscale = _root.namegont._yscale=100+400/50*Math.round(Math.abs(_root.pan_mc.pan_mc._y));
	} else if (_root.pan_mc.pan_mc._y>1) {
		
		_root.namegont._xscale = _root.namegont._yscale=100-95/50*Math.round(Math.abs(_root.pan_mc.pan_mc._y));
	} else {
		
		_root.namegont._xscale = _root.namegont._yscale=100;
	}
	
	_root.zoom_txt.text = _root.namegont._xscale+"%";
	
}


function dvig_func() {
	trace("dvig_func");


	
	_root.namegont.gotoAndStop(Math.round((_root.uprav.polzunok._x-54)/1.725))};
	

//Создаём событие "НАЖАТЬ"
pan_mc.pan_mc.onPress = function() {
	//Когда на ползунок нажали, для бОльшей наглядности, меняем цвет ползунка, на более блеклый
	this.gotoAndStop(2);
	//Начинаем перетаксивать ползунок
	this.startDrag(false, this._x, -50, this._x, 50);
	
	this.onMouseMove = _root.zoom_func;
};
//Создаём событие "ОТПУСТИТЬ"
pan_mc.pan_mc.onRelease = pan_mc.pan_mc.onReleaseOutside=function () {
	//Возвращаем начальный цвет ползунку
	this.gotoAndStop(1);
	//Останавливаем перетаскивание
	this.stopDrag();
	//Удаляем событие, которое срабатывало каждый раз при движении мышки
	delete this.onMouseMove;
	
};

//Создаём событие "НАЖАТЬ"
uprav.polzunok.onPress = function() {
	//Когда на ползунок нажали, для бОльшей наглядности, меняем цвет ползунка, на более блеклый
	this.gotoAndStop(2);
	//Начинаем перетаксивать ползунок
	
	this.startDrag(false, 56,this._y, 467,this._y);
	
	this.onMouseMove = _root.dvig_func;
};
//Создаём событие "ОТПУСТИТЬ"
uprav.polzunok.onRelease = uprav.polzunok.onReleaseOutside=function () {
	
	// ставим ползунок анимированный на  место
	_root.polzunok2.gotoAndStop(Math.round((_root.uprav.polzunok._x-56)/1.725));
	
	//Возвращаем начальный цвет ползунку
	this.gotoAndStop(1);
	//Останавливаем перетаскивание
	this.stopDrag();
	//Удаляем событие, которое срабатывало каждый раз при движении мышки
	delete this.onMouseMove;
	
	
};
//

//Создаём событие "НАЖАТЬ" play
uprav.playpause.playv.onPress = function() {
	
	uprav.playpause.playv._visible = false;
	uprav.playpause.pp._visible = true;
	polzunok2._visible = true;
	uprav.polzunok._visible = false;
	
	_root.polzunok2.gotoAndStop(Math.round((_root.uprav.polzunok._x-54)/1.725));
	polzunok2.play();
	_root.namegont.play();
	
	
	};

uprav.playpause.pp.onPress = function() {
	 var cadr:Number =_root.namegont._currentframe;
		
	uprav.playpause.pp._visible = false;
	uprav.playpause.playv._visible = true;
	_root.namegont.stop();
	polzunok2._visible = false;
	uprav.polzunok._visible = true;
	_root.uprav.polzunok._x=(cadr*1.725)+54;
	polzunok2.stop();
};



_root.logo_mc.onPress = function() {
	//Начинаем перетаскивать объект
	_root.logo_mc.startDrag();
	
};
_root.logo_mc.onRelease = _root.logo_mc.onReleaseOutside=function () {
	//Оканчиваем перетаскивать объект
_root.logo_mc.stopDrag();
	delete this.onMouseMove;
};


_root.zeleniy_mc.onPress = function() {
	//Начинаем перетаскивать объект
	_root.zeleniy_mc.startDrag();
	
};
_root.zeleniy_mc.onRelease = _root.zeleniy_mc.onReleaseOutside=function () {
	//Оканчиваем перетаскивать объект
_root.zeleniy_mc.stopDrag();
	delete this.onMouseMove;
};

_root.kori4_mc.onPress = function() {
	//Начинаем перетаскивать объект
	_root.kori4_mc.startDrag();
	
};
_root.kori4_mc.onRelease = _root.kori4_mc.onReleaseOutside=function () {
	//Оканчиваем перетаскивать объект
_root.kori4_mc.stopDrag();
	delete this.onMouseMove;
};


_root.med_mc.onPress = function() {
	//Начинаем перетаскивать объект
	_root.med_mc.startDrag();
	
};
_root.med_mc.onRelease = _root.med_mc.onReleaseOutside=function () {
	//Оканчиваем перетаскивать объект
_root.med_mc.stopDrag();
	delete this.onMouseMove;
};


_root.grey_mc.onPress = function() {
	//Начинаем перетаскивать объект
	_root.grey_mc.startDrag();
	
};
_root.grey_mc.onRelease = _root.grey_mc.onReleaseOutside=function () {
	//Оканчиваем перетаскивать объект
_root.grey_mc.stopDrag();
	delete this.onMouseMove;
};





Mouse.addListener(this);
this.onMouseWheel = function(varDelta:Number) {
	trace("onMouseWheel");
	//Смещаем положение ползунка
	_root.pan_mc.pan_mc._y -= varDelta;
	//Проверяем, если ползунок поднимается выше отметки -50 по Y, то ставим его на положение -50
	if (_root.pan_mc.pan_mc._y<-50) {
		_root.pan_mc.pan_mc._y = -50;
	} else if (_root.pan_mc.pan_mc._y>50) {
		//Если опускается ниже 50, то ставим на 50
		_root.pan_mc.pan_mc._y = 50;
	}
	//Запускаем функцию МАСШТАБИРОВАНИЯ
	_root.zoom_func();
};

Старый 14.10.2012, 16:01
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 2  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Не могу сдержаться:
http://lleo.me/dnevnik/2012/09/28.html

Ну или начинайте сами читать справку, переводить на as3 и постить сюда что у Вас конкретно не получается.

Ладно ещё, когда задачи по языку из университетского курса просят решить - там
начинающим помошникам это тоже выгодно - потренироваться на задачках, заодно просящему решить. Но здесь случай не тот.

Старый 15.10.2012, 14:03
RigidFlasher вне форума Посмотреть профиль Отправить личное сообщение для RigidFlasher Найти все сообщения от RigidFlasher
  № 3  
Ответить с цитированием
RigidFlasher

Регистрация: Dec 2011
Сообщений: 70
Может быть, топикстартеру лучше сюда обратиться?

Старый 15.10.2012, 17:28
vlasovdmitri вне форума Посмотреть профиль Отправить личное сообщение для vlasovdmitri Найти все сообщения от vlasovdmitri
  № 4  
Ответить с цитированием
vlasovdmitri

Регистрация: Oct 2012
Сообщений: 2
Это все верно подмечено. Но .
Я сделал ролик в АС2, все прошло, заказчик претензий не имел, потом оказалось, что фон картинки должен быть другой, и "перспектива" объекта с текстурой с несколькими горизонталями не смотрится. Узнал, что в AS3 картинку можно исказить правильно, но опять код не работает.

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

А может тут весь код надо менять на АС3 и пара-тройка исправлений не поможет?

Или быстрее сделать методом треугольников перспективу (не разобрался как это работает)?

Старый 16.10.2012, 02:09
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 5  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Я сделал ролик в АС2
Приведённый код - это AS1 :/

Похоже, на Вашем месте, я бы:
- взял отсюда код порезки на треугольники
- скопипастил пример, запустил, проверил что работает
- побаловался с настройками до полного понимания работы порезки
- начал копипастить этот код в проект

Т.е. не стал бы переписывать при незнании языка.

По поводу производительности - может треугольниками даже получится быстрее, чем 3D-трансформациями 10-го флешплеера, т.е. заморачиваться на этот счёт не стоит.

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

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

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


 


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


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