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

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

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

Регистрация: Mar 2008
Сообщений: 88
По умолчанию смещение по _y влево и вправо с помощью эффекта "драг"

помогите разобраться пожалуйста.
мне надо сделать следующее.
сделана покадрово анимация прокрутки монеты. наводим на область монеты - появляется курсор(драг) со стрелочками "влево" "вправо". далее я думаю очевидно.

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

*проблемы которые могут возникнуть как мне кажется и решение которых я не знаю:

-отслеживание курсора влево вправо - ясно. привязать смещение координат курсора по _y в режиме зажима кнопки мыши к покадровой анимации монеты

-нужная технология "драг" в данном случае(или тут вообще не "драг"?)

очень надеюсь на понимание и Ваш опыт
PS если не ясно о чем речь, скажите


Последний раз редактировалось priroda; 15.03.2008 в 01:30.
Старый 15.03.2008, 04:03
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Я бы для начала смещал по _х... это горизонталь, _у это вертикаль.

Ну а в целом StartDrag лучше не использовать. onEnterFrame\mouseMove уже если что.
__________________
Hell is the possibility of sanity

Старый 15.03.2008, 11:47
priroda вне форума Посмотреть профиль Отправить личное сообщение для priroda Найти все сообщения от priroda
  № 3  
Ответить с цитированием
priroda

Регистрация: Mar 2008
Сообщений: 88
мне нужени _x, вы правы)
пока спасибо на этом

хочу спросить кое-что ещё. я всегда делаю как сейчас говорят всё "на заплатках". и данную проблему думаю смогла бы решить своим способом.
хотелось бы посмотреть как выглядит это в оптимальном варианте.
запустить это:
Код:
var mouseListener:Object = new Object();
mouseListener.onMouseDown = function() { trace("doooown")};

mouseListener.onMouseUp = function() {
  this.isDrawing = false;
  trace("uuuuuuuuppppp")
}

Mouse.addListener(mouseListener);
при наводе на кнопку//область мувика


Последний раз редактировалось priroda; 15.03.2008 в 12:04.
Старый 15.03.2008, 14:51
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
import mx.utils.Delegate;
//
var coin_mc:MovieClip = coin;

coin_mc.onPress = Delegate.create(this, startRotateCoin);
coin_mc.onRelease = Delegate.create(this, stopRotateCoin);
coin_mc.onReleaseOutside = Delegate.create(this, stopRotateCoin);

function startRotateCoin():Void {
	if(coin_mc._xmouse>=0){
		coin_mc.play();
	} else {
		reversePlay(coin_mc)
	}
}
function stopRotateCoin():Void {
	coin_mc.stop();
	delete coin_mc.onEnterFrame;
}
function reversePlay(mc:MovieClip):Void {
	mc.onEnterFrame = function():Void {
		if(!(mc._currentframe-1)){
			mc.gotoAndStop(mc._totalframes);
		} else {
			mc.prevFrame();
		}
	}
}

stopRotateCoin();
Ну, так, например (coin - клип на сцене с анимацией монетки)
__________________
Hell is the possibility of sanity

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

Регистрация: Mar 2008
Сообщений: 88
о, да)
смотрите как получается. монетка двигается в ту или иную сторону.т.е когда мы нажимаем слева от нее или справа. да?) да) но когда перетягиваем курсор допустим вправо, в то врема как нажали сначала на левую ёё сторону - движение всё равно продолжает считываться от клика слева - т.е. влево. а ведь мы уже перетянули курсор вправо) вот оно как получается

мне кажется что этот код нужно каким то образом постоянно обновлять. что то вроде эффекта от >onClipEvent(EnterFrame)<

может тогда "перетягивание" мыши будет считываться не только в момент нажатия но и в процессе "перетягивания" из стороны в сторону? вот только немного не понятно каким образом это всё "провернуть".

---

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

немного поясню. если мы смещаем мышь(зажав кнопку её) от ценра на сантиметр(влево/вправо), то покадровая анимация продвигается относительно общего числа кадров в ней, пропорционально нашему сантиметру)



wvxvw вы потрудились, спасибо.
PS iNils, может Вы поможете?)
пожалуйста***************
(* - пожалуйста/в день)


Пояснение:Я хочу добиться эффекта - знаете как в играх про машины) т.е. авто в гараже можно прокрутить влево и вправо зажав кнопку мыши. вот как


Последний раз редактировалось priroda; 31.03.2008 в 19:50.
Старый 12.04.2008, 00:00
reliz вне форума Посмотреть профиль Отправить личное сообщение для reliz Найти все сообщения от reliz
  № 6  
Ответить с цитированием
reliz

Регистрация: Feb 2008
Сообщений: 15
Отправить сообщение для reliz с помощью ICQ
тоже интересно, как такое "провернуть"

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Это похоже?
Код:
var max:Number = monet_mc._totalframes;
//////////////////////
monet_mc.onRollOver = function(){
	//Mouse.hide();
	}
monet_mc.onPress = function(){
	start3D(this._xmouse, this._currentframe);
	}
monet_mc.onRollOut = function(){
	//Mouse.show();
	}
monet_mc.onRelease = monet_mc.onReleaseOutside = function(){
	monet_mc.onMouseMove = null;
	}
/////////////////////////

function start3D(startX:Number, startFrame:Number){
	monet_mc.onMouseMove = function(){
		var cf:Number = Math.round(startFrame - startX + this._xmouse);
		//trace(cf);
		if(cf > max){
			cf = 1+cf-max;
			this.gotoAndStop(cf);
			startX = this._xmouse;
			startFrame = cf;
		} else if (cf < 1){
			cf = max+cf;
			this.gotoAndStop(cf);
			startX = this._xmouse;
			startFrame = cf;
		} else this.gotoAndStop(cf);
		
	}
}
__________________
Reality.getBounds(this);

Старый 13.04.2008, 02:08
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 8  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Вращение машинки
http://kind-armadillo.pochta.ru/fla/car_rotation.swf
http://kind-armadillo.pochta.ru/fla/car_rotation.rar

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

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

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


 


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


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