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

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

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

Регистрация: Feb 2010
Адрес: Красноярск
Сообщений: 21
Checked Рывки при масштабировании

Доброе время суток.

Пытаюсь сделать что то типа наезда камерой, при помощи масштабирования

Код AS3:
var timer:Timer = new Timer(100, 30);
function stopper(event:TimerEvent):void {
    switch (timer.currentCount) {
	case 5:  this.Fon_2.scaleX = 1.1;
		this.Fon_2.scaleY = Fon_2.scaleX;
		break;
	case 10:  
		this.Fon_2.scaleX = 1.2;
		this.Fon_2.scaleY = Fon_2.scaleX;
		break;
	case 15:  
		this.Fon_2.scaleX = 1.3;
		this.Fon_2.scaleY = Fon_2.scaleX;
		break;
	case 20:
		this.Fon_2.scaleX = 1.4;
		this.Fon_2.scaleY = Fon_2.scaleX;
		break;
	case 25:
		this.Fon_2.scaleX = 1.5;
		this.Fon_2.scaleY = Fon_2.scaleX;
		break;
	case 30:
		timer.stop();
		timer.reset();
		break;
		}
	}
Но когда срабатывает функция масштабирование идет рывками, а хочется плавный наезд и потом затемнение экрана.
Помогите пожалуйста как можно это реализовать?

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

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
Эм... Может твинер какой-нить заюзаете или хотя бы onEnterFrame?

Ну или хоть так...
Код AS3:
function stopper(event:TimerEvent):void {
    Fon_2.scaleX = Fon_2.scaleY = 1 + timer.currentCount / 50;
}
__________________
Стой! Опасная зона! Работа мозга!


Последний раз редактировалось marat_sa; 29.04.2010 в 15:35.
Старый 29.04.2010, 15:16
mickfallout вне форума Посмотреть профиль Отправить личное сообщение для mickfallout Найти все сообщения от mickfallout
  № 3  
Ответить с цитированием
mickfallout
 
Аватар для mickfallout

Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
Код AS3:
    switch (timer.currentCount) {
	case 5:  this.Fon_2.scaleX = 1.1;
		this.Fon_2.scaleY = Fon_2.scaleX;
		break;
	case 10:  
		this.Fon_2.scaleX = 1.2;
		this.Fon_2.scaleY = Fon_2.scaleX;
		break;
	case 15:  
		this.Fon_2.scaleX = 1.3;
		this.Fon_2.scaleY = Fon_2.scaleX;
		break;
	case 20:
		this.Fon_2.scaleX = 1.4;
		this.Fon_2.scaleY = Fon_2.scaleX;
		break;
	case 25:
		this.Fon_2.scaleX = 1.5;
		this.Fon_2.scaleY = Fon_2.scaleX;
		break;
	case 30:
		timer.stop();
		timer.reset();
		break;
		}
уж если и юзать таймер, то зачем так сложно? не проще ли:
Код AS3:
        if (timer.currentCount<30) {
		this.Fon_2.scaleX = 1+(0.1*timer.currentCount/5);
		this.Fon_2.scaleY = Fon_2.scaleX;
	}else{
		timer.stop();
		timer.reset();
	}
Добавлено через 7 минут
вариант с enterFrame:
Код AS3:
package  {
 
	import flash.display.*
	import flash.events.*
	public class Main extends Sprite {
		private var sprite:Sprite = new Sprite();
		private var counter:int = 0;
		public function Main() 
		{ 
			super();
			addChild(sprite);
			sprite.graphics.beginFill(0x00CCFF);
			sprite.graphics.drawCircle(200, 200, 200);
			sprite.graphics.endFill();
			sprite.addEventListener(Event.ENTER_FRAME, handler);
		}
		private function handler(event:Event):void
		{
			sprite.scaleX = sprite.scaleY = (100 - counter) / 100;
			sprite.x = sprite.y = counter++ * 2;
			if (counter >= 100)
			{
				removeChild(sprite);
				sprite.removeEventListener(Event.ENTER_FRAME, handler);
			}
		}
	}
}
__________________
Могу ошибаться... =)

Старый 29.04.2010, 15:29
PsixokoT вне форума Посмотреть профиль Отправить личное сообщение для PsixokoT Найти все сообщения от PsixokoT
  № 4  
Ответить с цитированием
PsixokoT

Регистрация: May 2008
Сообщений: 63
еще как совет, если объект сложный то лучше использовать трансформацию матрицей.

Старый 29.04.2010, 19:32
Into the Dark вне форума Посмотреть профиль Отправить личное сообщение для Into the Dark Найти все сообщения от Into the Dark
  № 5  
Ответить с цитированием
Into the Dark

Регистрация: Feb 2010
Адрес: Красноярск
Сообщений: 21
Спасибо вам огромное !!
Блин неграмотность подводит ((. Глупые ошибки

А как экран в черный покрасить постепенно? С альфой нужно ?

Старый 29.04.2010, 21:41
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 6  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
Ну либо прямоугольник черный накладывайте сверху и изменяй его alpha от 0 до 1. Либо изменяйте прозрачность целевого объекта от 1 до 0. Как Вам удобнее.
__________________
Стой! Опасная зона! Работа мозга!

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

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

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


 


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


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