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

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

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

Регистрация: Apr 2009
Сообщений: 87
Question Эффект вращения, как лучше сделать?

Вот что получается http://undersky.ru/accord/flashka.html
Делаю эффект вращения картинки по наводу мышки, вот код, почему то 1-2 раза все прокручивается а потом наметво встает, я делал вот так код, сперва 2 слушателя на навод мышки а внутри функции слушателя еще слушатель enterFrame у которого своя функция

Код AS3:
stop();
 
goForward.addEventListener(MouseEvent.MOUSE_OVER, goingForward);
 
function goingForward(event:MouseEvent):void {
 
    event.target.addEventListener(Event.ENTER_FRAME, everyFrameAhead);
 
	function everyFrameAhead(event:Event):void {
 
		    nextFrame();
 
		}
 
}
 
 
 
 
goBack.addEventListener(MouseEvent.MOUSE_OVER, goingBack);
 
function goingBack(event:MouseEvent):void {
 
    event.target.addEventListener(Event.ENTER_FRAME, everyFrameBack);
 
	function everyFrameBack(event:Event):void {
 
		    prevFrame();
 
		}
 
}

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
1) Слушатель нужно добавлять не кнопке, а спрайту с картинкой (то есть мувик нужно положить в спрайт) или самому мувику
2) Удаляйте слушатель EnterFrame после отведения мыши от кнопки
__________________
...вселенская грусть

Старый 16.02.2010, 17:20
TonKhaO вне форума Посмотреть профиль Отправить личное сообщение для TonKhaO Найти все сообщения от TonKhaO
  № 3  
Ответить с цитированием
TonKhaO

Регистрация: Apr 2009
Сообщений: 87
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
1) Слушатель нужно добавлять не кнопке, а спрайту с картинкой (то есть мувик нужно положить в спрайт) или самому мувику
вы имеете виду что спрайт это однокадровый мувик? или это это на программное исполнение как то влияет что у меня кнопка является мувиком?

Добавлено через 7 минут
Вот так? :-)

Код AS3:
stop();
 
goForward.addEventListener(MouseEvent.MOUSE_OVER, goingForward);
goForward.addEventListener(MouseEvent.MOUSE_OUT, deleteLis1);
 
function goingForward(event:MouseEvent):void {
 
    event.target.addEventListener(Event.ENTER_FRAME, everyFrameAhead);
 
	function everyFrameAhead(event:Event):void {
 
		    nextFrame();
 
		}
 
}
 
function deleteLis1(event:MouseEvent):void {
 
	removeEventListener(Event.ENTER_FRAME)
 
}
 
 
goBack.addEventListener(MouseEvent.MOUSE_OVER, goingBack);
goBack.addEventListener(MouseEvent.MOUSE_OUT, deleteLis2);
 
function goingBack(event:MouseEvent):void {
 
    event.target.addEventListener(Event.ENTER_FRAME, everyFrameBack);
 
	function everyFrameBack(event:Event):void {
 
		    prevFrame();
 
		}
 
}
 
function deleteLis2(event:MouseEvent):void {
 
	removeEventListener(Event.ENTER_FRAME)
 
}

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
это это на программное исполнение как то влияет что у меня кнопка является мувиком?
Нет, никак не влияет

Судя по всему, Вы пишите код в кадрах. Согласно концепции данного форума - это мировое зло! =) Так что завязывайте с этим, пишите основной класс проекта, через него будет проще ориентироваться во всех этих листенерах и т.д.

Допустим, у вас на сцене есть мувик (вот эта самая прокрутка, где каждый кадр - картинка). Чтобы обратиться к нему из основного класса, используйте такой код:
Код AS3:
package {
 
	import flash.display.MovieClip;
	import flash.display.Sprite;
 
	/**
	 * ...
	 * @author gloomyBrain
	 */
 
	public class Main extends Sprite {
 
		public var myScroll:MovieClip;
 
		public function Main():void {
 
			myScroll = this.getChildByName("вот тут имя прокрутки на сцене") as MovieClip;
 
			// то же самое и с кнопками
			//...
 
			// при нажатии на кнопку выполняем вот такой код
			this.myScroll.addEventListener(Event.ENTER_FRAME, ...);
 
		}
 
	}
 
}
Единственное - помните, что для кнопки переменная this.myScroll не будет существовать, поэтому нужно либо
а) передавать кнопке ссылку на myScroll (плохо)
б) кнопкой диспатчить событие, ловить его в контейнере (который содержит в себе и кнопку, и прокрутку) и уже из контейнера добавлять или удалять необходимые листенеры к myScroll
__________________
...вселенская грусть

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

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

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


 


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


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