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

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

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

Регистрация: May 2004
Сообщений: 101
Отправить сообщение для Cornelius с помощью ICQ
По умолчанию подпроигрывание анимации...

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

Старый 08.07.2005, 11:28
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 2  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
Делаешь мувик с анимацией и ставишь в нём стопы на первом и последнем кадре, дальше вытаскиваешь его на сцену и в первый кадр рута пихаешь код
Код:
MovieClip.prototype.p_prevFrame = function() {
	this.onEnterFrame = function() {
		if (this._currentframe == 1) {
			delete this.onEnterFrame;
		} else {
			this.prevFrame();
		}
	};
};
mc.onRollOut = function() {
	this.p_prevFrame();
};
mc.onRollOver = function() {
	this.play();
};
__________________
BestMasterиZация

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

Регистрация: May 2004
Сообщений: 101
Отправить сообщение для Cornelius с помощью ICQ
Я создал мувик с вращающимся треугольником и рядом кнопку, на которую и наложил данный скрипт. Вот что мне выдал флэш:

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 1: Statement must appear within on handler
movclip.prototype.p_prevFrame = function() {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 10: Statement must appear within on handler
movclip.onRollOut = function() {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 13: Statement must appear within on handler
movclip.onRollOver = function() {

Total ActionScript Errors: 3 Reported Errors: 3

Если что - исходник я приложил. Спасиб
Вложения
Тип файла: zip button.zip (4.4 Кб, 65 просмотров)

Старый 08.07.2005, 14:27
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 4  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
Ты чё тугой написал же в первый кадр рута код пихай, и создавай не кнопку а мувик и обзывай его mc
__________________
BestMasterиZация

Старый 08.07.2005, 14:34
Cornelius вне форума Посмотреть профиль Отправить личное сообщение для Cornelius Найти все сообщения от Cornelius
  № 5  
Ответить с цитированием
Cornelius

Регистрация: May 2004
Сообщений: 101
Отправить сообщение для Cornelius с помощью ICQ
извини. туплю.
а как еще б сделать, чтоб он, если мышь успели убрать до окончания анимации, доигрывал сначала когда наводишь мышу, а потом сразу переходил на тот кадр, где мышь отводится от клипа.
просто допустим при наведении на кнопку проигрывается одна анимация, а когда убираешь с кнопки анимация проигрывается не назад, а тоже имеет определенную анимацию с определенного кадра. надеюсь, что понятно объяснил!

Старый 08.07.2005, 14:36
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 6  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
я вроде всё понял но чё то запутался, пока точно могу сказать что можно, а вот как пока не соображу
__________________
BestMasterиZация

Старый 08.07.2005, 14:40
Cornelius вне форума Посмотреть профиль Отправить личное сообщение для Cornelius Найти все сообщения от Cornelius
  № 7  
Ответить с цитированием
Cornelius

Регистрация: May 2004
Сообщений: 101
Отправить сообщение для Cornelius с помощью ICQ
флэшка я думаю может только исполнять сценарии в данный момент, но откладывать на определенное время - врядли. хотя я ж видел вроде немало роликов, где был не откат анимации обратно, а доигрывание и дальше уже другая.

Старый 08.07.2005, 15:14
Constantine вне форума Посмотреть профиль Отправить личное сообщение для Constantine Посетить домашнюю страницу Constantine Найти все сообщения от Constantine
  № 8  
Ответить с цитированием
Constantine
 
Аватар для Constantine

Регистрация: Jun 2000
Адрес: $_SERVER['REMOTE_ADDR']
Сообщений: 854
Это же просто программа, а значит может... Алгоритм, типа такой:
1. При RollOver запускаем анимацию.
2. Если до её окончания наступает событие RollOut не прерываем её, но запоминаем в переменной, что эта фигня произошла.
3. Когда анимация доходит до конца, видим, что значение переменной, например, true -- проигрываем анимацию на RollOut
__________________
X

Старый 08.07.2005, 15:16
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 9  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
Код:
my_mc.stop();
my_mc.stayAtEnd = false;
my_mc.goForward = function(){
   this.onEnterFrame = function(){
      this.nextFrame();
      if(this._currentframe = this._totalframes){
       delete this.onEnterFrame;
       if(!this.stayAtEnd) this.goBackward()
      }
   }
}
my_mc.goBackward = function(){
   this.onEnterFrame = function(){
      this.nextFrame();
      if(this._currentframe = 1){
       delete this.onEnterFrame;
       if(this.stayAtEnd) this.goForward()
      }
   }
}
my_mc.onRollOver = function(){
   this.stayAtEnd = true;
   this.goForward();
}
my_mc.onRollOut = function(){
   this.stayAtEnd = false;
   this.goBackward();
}
__________________
Breakcore them all!

Старый 08.07.2005, 15:17
Cornelius вне форума Посмотреть профиль Отправить личное сообщение для Cornelius Найти все сообщения от Cornelius
  № 10  
Ответить с цитированием
Cornelius

Регистрация: May 2004
Сообщений: 101
Отправить сообщение для Cornelius с помощью ICQ
ну ребят, спасиб. гуру просто

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

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

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


 


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


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