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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 28.10.2013, 19:41
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 21  
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
я не знаю, но возможно где то можно задать чистоту вызова ( как ентерФрайм ).
И можно Вам личный вопрос задать - Вам когда нибудь давали советы не строить свои велосипеды, ведь уже есть для всего готовые решения?

Добавлено через 56 секунд
Tails ещё раз Вам Спасибо! за обьяснение о getTimer.

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

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
Да не нашел я велосипеда... вот и ищу ответа здесь

Старый 28.10.2013, 20:03
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 23  
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Код AS3:
progressBar.scaleX = 1;
someTweener.addTween(progressBar, 20, {scaleX:0});
так не?

Код AS3:
progressBar.gotoAndStop("start");
someTweener.addTween(progressBar, 20, {animTo:"end"});
И так не?

Велосипеда не нашел потому что некуда его тут крутить.
Не вижу проблемы.
Приведенный код реализуем практически во всех твинерах, я не знаю какой используете конкретно вы.

Я предпочитаю eaze-tween/.
__________________
Кто к нам с чем для чего - тот у нас того от того.


Последний раз редактировалось Dukobpa3; 28.10.2013 в 20:18.
Старый 28.10.2013, 20:05
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 24  
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Я предпочитаю eaze-tween/.
Он лучше lite,max?

Старый 28.10.2013, 20:08
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 25  
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Ну попробуй да сравни
Лайт с максом как минимум платные. Ну и синтаксис тут приятный, и возможности богатые, и вес маленький. Одни только твины по безье чего стоят.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 28.10.2013, 20:12
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 26  
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Ребят, вы усложняете все.
Ставим либу TweenLite от greensock.com .

Код AS3:
var barBackground:Sprite = new Sprite();
barBackground.graphics.lineStyle(2);
barBackground.graphics.beginFill(0xffcc33);
barBackground.graphics.drawRect(0,0,200,20);
addChild(barBackground);
 
var bar:Sprite = new Sprite();
bar.graphics.lineStyle(2);
bar.graphics.beginFill(0xcc9999);
bar.graphics.drawRect(0,0,200,20);
addChild(bar);
bar.scaleX = 0;
TweenLite.to(bar, 20, { scaleX: 1 });
Добавлено через 7 минут
И не забываем импортировать
Код AS3:
import com.greensock.TweenLite;
import flash.display.Sprite;

Старый 28.10.2013, 20:21
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 27  
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Пример небось в кадрах написан.
В нормальных ИДЕ никто импортировать не забывает
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 28.10.2013, 20:29
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 28  
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
Сообщение от Dukobpa3 Посмотреть сообщение
Пример небось в кадрах написан.
В нормальных ИДЕ никто импортировать не забывает
Пример написан в браузере. Я напомнил об импорте TweenLite, так как предполагаю, что автор может поначалу забыть за это дело.

Старый 29.10.2013, 00:34
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 29  
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Люди, человеку нужен обычный прогресс бар с плавным индикатором - полоской. Твиннер тут совершенно не к месту. Всё это делается гораздо проще:
  1. Полоска - компонент отображающий указанное значение.
  2. Внешний код, указывающий этому компоненту отображаемое значение.

Vansimar,
Ваши 20 секунд - относятся к логике игры, а не самой полоске. Полоска не должна знать, что именно вы ею отображаете. Полоска - это обычный прогресс бар. Он может отображать время до монстров, значение здоровья, уровень угрозы - всё что угодно. Это я к тому, что необходимо разделить области задач.

Я для вас написал простой класс - пример анимированного индикатора.
Этот индикатор отображает значения от 0 до 1:
Код AS3:
package utils 
{
	import starling.animation.IAnimatable;
	import starling.display.Quad;
	import starling.display.Sprite;
 
 
	/// Простой прогресс бар.
	public class ProgressBar extends Sprite implements IAnimatable{
 
		/// Скорость перемещения полоски. (percent/sec)
		private static const ANIMATION_SPEED:Number			= .5;
 
 
		private var _value:Number;				// Отображаемое значение.
		private var _line:Quad;					// Полоска индикатор.
 
 
		public function ProgressBar() {
			super();
 
			var bg1:Quad	= new Quad(360, 20, 101010);
			addChild(bg1);
			var bg2:Quad	= new Quad(350, 10, 040404);
			bg2.x			= 5;
			bg2.y			= 5;
			addChild(bg2);
 
			_line			= new Quad(350, 10, 0x00ff00);
			_line.x			= 5;
			_line.y			= 5;
			_value			= 1;
			addChild(_line);
		}
 
		public function advanceTime(time:Number):void {
			if (_line.scaleX > _value) {
				_line.scaleX	-= ANIMATION_SPEED * time;
 
				if(_line.scaleX < value)
					_line.scaleX = value;
 
			}else if (_line.scaleX < _value) {
				_line.scaleX	+= ANIMATION_SPEED * time;
 
				if(_line.scaleX > value)
					_line.scaleX = value;
			}
		}
 
 
		/// Отображаемое значение.
		public function get value():Number {
			return _value;
		}
		public function set value(value:Number):void {
			if (value < 0)			value = 0;
			else if (value > 1)		value = 1;
 
			_value = value;
		}
 
	}
}
Использовать его в коде очень просто:
Код AS3:
var progressBar:ProgressBar	= new ProgressBar;
addChild(progressBar);
progressBar.value				= .5;
Starling.juggler.add(progressBar);
Способы анимаций полоски могут быть самые разные, в зависимости какой вам нужен. В данном примере изменению подвергается свойство scaleX.

Далее, вам нужно лишь указывать ему отображаемое значение. Например, время до следующей волны монстров. Всё что вам для этого нужно - это знать: сколько времени уже прошло и сколько всего они будут идти.
То-есть так:
Код AS3:
progressBar.value = _currentTime / _totalTime;
_currentTime - Время, которое уже прошло. Например - 18 секунд.
_totalTime - Время, которое необходимо что-бы волна подошла. Например - 20 секунд.
Соответственно, раз текущее время уже 18 секунд, через 2 секунды появятся новые мобы. 18/20 = 0.9. Индикатор покажет почти заполненную полоску.

Каждый шаг в игре, значение _currentTime увеличивается. И когда в игре пройдёт ещё 2 секунды, индикатор покажет 100% а на экране - появятся монстры.
Вложения
Тип файла: swf Progressbar.swf (58.6 Кб, 22 просмотров)
Тип файла: rar FD Project with Starling.rar (288.7 Кб, 15 просмотров)
__________________
Дети не должны знать о своих родителях


Последний раз редактировалось Tails; 29.10.2013 в 15:35.
Старый 29.10.2013, 01:35
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 30  
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Ваши 20 секунд - относятся к логике игры, а не самой полоске. Полоска не должна знать, что именно вы ею отображаете. Полоска - это обычный прогресс бар. Он может отображать время до монстров, значение здоровья, уровень угрозы - всё что угодно. Это я к тому, что необходимо разделить области задач.
Во-во, давайте про MVC!
__________________
Отряд Котовскага

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

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

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


 


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


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