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

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

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

Регистрация: Dec 2007
Сообщений: 15
отправил. В принципе если кол-во кадров уменьшить действительно меньше тормозит. Только сейчас не получается сделать чтоб когда он доходит до 360 перескакивал на 1 и проигрывался дальше. Вобщем зациклить.

Старый 20.12.2007, 19:24
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 22  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
ну если я вас правильно понял то
Код:
stop();
var abbleToDrag:Boolean = false
var currentClickX:Number = 0;
var lastClickReleaseX:Number = 0;

_root.onMouseDown = function(){
    abbleToDrag=true
    currentClickX = Math.floor(_xmouse)/2
	}
_root.onMouseUp = function(){
    abbleToDrag=false
	lastClickReleaseX = Math.floor(_xmouse)/2
	    }

_root.onEnterFrame = function(){
if(abbleToDrag){
mc.gotoAndStop(Math.abs((-currentClickX+lastClickReleaseX + Math.floor(_xmouse)/2)%346))
	}
}
__________________
: M F N W :

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

Регистрация: Dec 2007
Сообщений: 15
Если вы получили файл то наверно сами видите что это не работает. Почему вы используете переменную lastClickReleaseX. С ней мувик опять перескакивает.
Код:
stop();
var abbleToDrag:Boolean = false
var currentClickX:Number = 0;

_root.onMouseDown = function(){
    abbleToDrag=true
    currentClickX = Math.floor(_xmouse)/2
	}
_root.onMouseUp = function(){
    abbleToDrag=false
		    }

_root.onMouseMove = function(){
if(abbleToDrag){
mc.gotoAndStop(Math.abs((-currentClickX + mc._currentframe + Math.floor(_xmouse)/2)%346))
	}
}
Вот так работает. Но все таки использование onEnterFrame не то что нужно. Лучше с onMouseMove. А насчет 346% я не совсем понял откуда это число взялось, но так работает намного быстрее. Остался один вопрос как сделать чтобы он продолжал вращение без остановки. Возвращаясь к сайту бмв у них модель может прокручивать в одну сторону и она не останавливается когда сделает полный оборот на 360 градусов.
Код:
stop();
var abbleToDrag:Boolean = false
var currentClickX:Number = 0;
var cadr:Number = 0;

_root.onMouseDown = function(){
    abbleToDrag=true
    currentClickX = Math.floor(_xmouse)/2
	}
_root.onMouseUp = function(){
    abbleToDrag=false
		    }

_root.onMouseMove = function(){
if(abbleToDrag){
cadr = Math.abs(-currentClickX + mc._currentframe + Math.floor(_xmouse)/2)
if(cadr>173) {
mc.gotoAndStop (1)
	}
if (cadr<1) {
mc.gotoAndStop (172)
}
mc.gotoAndStop(cadr)
	}
}
Этот код позволяет прокручивать в одну сторону, но как то коряво работает. Иногда заедает. Может у вас есть соображения как его улучшить. Надеюсь мысль в коде ясна.
Спасибо за помощь.


Последний раз редактировалось ludankov; 21.12.2007 в 02:04.
Старый 21.12.2007, 13:32
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 24  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
фууух, щас башка не варит насчет математики, вот это вставте сразу вначале функции маусмув. Это чтобы мувик крутился сам если мышка ушла за пределы ролика:
Код:
if(_xmouse>346){
	mc.play()
	return
	}
if(_xmouse<0){
	mc.play()
	return
	}
__________________
: M F N W :

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

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

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


 


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


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