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

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

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

Регистрация: Jun 2005
Сообщений: 8
The bomb! изменение фпс

мульт, создавался двумя персонами, первая фпс 15, а вторая по ошибке 20. теперь надо как нить соеденить их. так вот вопрос:

можно ли вовремя мульта, менять фпс? если да, то как?

Старый 25.06.2005, 18:53
Sh@man вне форума Посмотреть профиль Отправить личное сообщение для Sh@man Найти все сообщения от Sh@man
  № 2  
Ответить с цитированием
Sh@man
 
Аватар для Sh@man

Регистрация: Mar 2002
Сообщений: 840
Отправить сообщение для Sh@man с помощью AIM Отправить сообщение для Sh@man с помощью Skype™
фпс можно менять либо до мульта, либо после. во время - никак нельзя.
__________________
www.maxshaman.com

Старый 25.06.2005, 18:57
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 3  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
возможно, загрузить второй мув в _level1 и в нужный момент поменять местами

_level0.swapDepths (_level1);

это уже обсуждалось на риалтайме, что-то темы не смог найти

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

Регистрация: Jun 2005
Адрес: dreams
Сообщений: 1,137
Отправить сообщение для Fl00r с помощью ICQ
Сталкивался с этой проблемой.
ФПС менять во время проигрывания swf нельзя. Это уже "тактовая" частота самого проигрывателя, а не мовика. И если плеер сначала загрузил мов с фпс=20, то он будет до перезагрузки плеера быть с фпс 20.

Старый 25.06.2005, 19:12
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 5  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
Еще раз повторяю, за фпс и размеры проигрователя отвечает мув загруженный в _level0

прочитайте внимательно это


Последний раз редактировалось 7thsky™; 25.06.2005 в 19:15.
Старый 25.06.2005, 19:16
Fl00r вне форума Посмотреть профиль Отправить личное сообщение для Fl00r Найти все сообщения от Fl00r
  № 6  
Ответить с цитированием
Fl00r
 
Аватар для Fl00r

Регистрация: Jun 2005
Адрес: dreams
Сообщений: 1,137
Отправить сообщение для Fl00r с помощью ICQ
где ж вы были раньше (.

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

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитата:
Сообщение от Fl00r
где ж вы были раньше (.
Если ещё учесть с какой погрешностью отрабатывается
setInterval......

Старый 25.06.2005, 19:13
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 8  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Оригинал писал C2Plus
Цитата:
...кстати говоря, менять уровни местами можно используя swapDepths. Таким образом, например, можно менять мувик в _level0 без перезагрузки остальных.

В мазиле после этого может глючить загрузка файлов, а именно созданые до замены ссылки на мувиклипы в замененом уровне или что-то вроде этого, точно не помню.

Насчет изменения фпс и размеров ничего не могу сказать, сейчас лень эксперементировать...

а то нельзя, нельзя... Можно!
Цитата:
да, именно _level0.swapDepths (_level1);
Эта операция меняет местами сами уровни, после нее все, что было в _level1 будет доступно через _level0 и наоборот.

Вот пример:
http://www.bsmart.ru/archives/misc/swap_levels.rar
смотреть во флеше, т.к. вывод идет через трассировку.
Цитата:
область применения, прямо скажу, специфическая... Допустим, есть набор готовых свфок, предположим, это игра или анимация, и мы хотим показывать поверх нее некий рекламный блок, однако, свфка на это не заточена и более того, не хочет работать в _level1 (или в муве _level0) по принципиальным соображениям. Разумеется, ее исходник не доступен. В таком случае мы можем сделать свой загрузчик, который подгрузит рекламу и свфку в произвольные уровни, а затем свфку поставит на удобное ей место - в _level0. Главное поставить ее в _level0 до ее инициализации, хотя тут возможны варианты.

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

С другой стороны, _level`ам тоже есть применение, хотя, наверное, все, что они позволяют сделать, возможно реализовать и на мувиклипах... Быть может, на мувиклипах даже лучше, не знаю - на мувиках в _level0 - есть родитель для всего, а на левелах общего родителя всего нет, хотя, корневой элемент можно и игнорировать при необходимости, а можно и самому создать корневой элемент... С другой стороны, _level`ы сильнее изолированы друг от друга, чем соседние мувики, которые могут найти друг друга через родителя... Это, наверное, вопрос из разряда: "Разбивать яйцо следует острой стороной или тупой?".
а теперь от себя

Есть еще второй способ менять FPS, это через setInterval()

или через класс FPS
Цитата:
Недавно я писал класс FPS
скачать можно тут, как пользоваться классами можно узнать в документации к флэшу
Код:
import orange.utils.FPS;
var boo:FPS = new FPS(2);
this.createEmptyMovieClip("ball_mc",3);
this.ball_mc.lineStyle(35,0xff0000,100);
this.ball_mc.moveTo(0,0);
this.ball_mc.lineTo(0.2,0);
this.boo.onEnterFrame = function () {
	trace("boo");
	_root.ball_mc._x ++;
	this._fps +=0.5;
}
Второй способ это через setInterval

Или использовать вариант silin'а

Код:
class FPS{
	var onEnterFrame: Function;
	private var _framerate, intID : Number;
	private var listeners:Array;
	function FPS (frameRate){
		_fps = frameRate;
		listeners=[this]
	}
	function get _fps(){
		return _framerate;
	}
 	function set _fps (frameRate){
		clearInterval (intID);
		_framerate = frameRate
		intID=setInterval(this,'update',1000 / frameRate)
	}
	function stop (){
		clearInterval (intID);	
	}
	function play (){
		_fps = _framerate;	
	}
	private function update(){
		for(var i in listeners) listeners[i].onEnterFrame();
		updateAfterEvent();
	}
	function addListener(obj){
		listeners.push(obj)
	}
}
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 26.06.2005, 22:54
glitchestglitch вне форума Посмотреть профиль Отправить личное сообщение для glitchestglitch Найти все сообщения от glitchestglitch
  № 9  
Ответить с цитированием
glitchestglitch

Регистрация: Jun 2005
Сообщений: 8
Цитата:
Сообщение от Nirth
Оригинал писал C2Plus


Код:
class FPS{
	...........n FPS (frameRate){
		_fps = frameRate;
		listeners=[this]
	}
	function get _fps(){
		return _framerate;
	}
 	function set _fps (frameRate){
		clearInterval (intID);
		_framer.........
Пожалуйста! Обьясните подробно что делать... Не понял я все таки что такое классы...

Старый 26.06.2005, 23:16
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 10  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Как ты интересно вставил цитату, начало и конец.
Силин был прав, разжевываю.

забей на классы, когда захочешь купишь книжку и почитаешь, есть такая феня как setInterval() вот она заставляет вызывать какую либо функцию через определенное кол во времени(Заметь мы не меняем frame rate мы лишь эмулируем его смену)
пишем что то вроде
Код:
framerate = 24;
var id = setInterval(function (target) { target._x+=5 } , 1000/framerate,this);
почитай в хелпе про setInterval чтобы понять его лучше =)

PS я делил 1000 на framerate чтобы было понятнее, что для того чтобы добиться 24 кадров нужно разделить 1000 на 24, для 30 кадров 1000 на 30 и так далее.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

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

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


 


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


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