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

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

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
время запуска это допустим 12:45=))
Кодом это можно реализовать довольно просто
Код AS3:
package {
	import flash.display.Sprite;
	import flash.events.Event;
 
	public class BeginDate extends Sprite {
 
 
		private var _beginDate:	Date		= null;
		private var _isStarted:	Boolean		= false;
 
		public function BeginDate() {
 
			_beginDate = new Date(); // создает сегодняшнуюю дату, с вреемнем компа
			_beginDate.hours = 20; // задаем время, которое должно быть
			_beginDate.minutes = 6;
 
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
 
 
		}
 
		private function onEnterFrame(e:Event):void {
			var now:Number = new Date().getTime();
			if (now >= _beginDate.getTime()) {
				isStarted = true;
			}
		}
 
		private function get isStarted():Boolean {
			return _isStarted;
		}
 
		private function set isStarted(value:Boolean):void {
			if (_isStarted == value) return;
			_isStarted = value;
			removeEventListener(Event.ENTER_FRAME, onEnterFrame);
			trace("начинаем");
		}
 
 
	}
 
}
Цитата:
кстати а какой командой мне сделать интервал определенный временной между повторениями?)
Просто можно после каждого запуска к _startTime снова прибавлять 5000. И интервал будет 5 секунд.
Как-то так
Код AS3:
package  {
 
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.utils.getTimer;
 
 
	public class Main extends MovieClip {
		private var _delay:Number = 5000;
		private var _startTime:int = 0;
		private var _speed:Number = -7;
 
		public function Main() {
			stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
			_startTime = getTimer() + _delay;
		}
 
		private function enterFrameHandler(e:Event):void {
 
			if (getTimer() >= _startTime) {
				ship_b.x += _speed;
 
				if (ship_b.x <= -4500) {
					ship_b.x = 2500
					_startTime = getTimer() + _delay;
				}
			}
		}
 
 
 
	}
 
}
__________________
Ко мне можно и нужно обращаться на ты)

Старый 01.11.2016, 14:30
JamsLucas вне форума Посмотреть профиль Отправить личное сообщение для JamsLucas Найти все сообщения от JamsLucas
  № 32  
Ответить с цитированием
JamsLucas

Регистрация: Oct 2016
Сообщений: 16
а как это осуществить то добавление?
то есть если я изменю
Код AS3:
_startTime = getTimer() + _delay;
на
Код AS3:
_startTime = getTimer() + 5000;
у меня снова будет задержка в 5 секунд только перед первым появлением строки, а когда она вернется в точку шип б.х она снова стартует без задержки, так же как и
Код AS3:
if (getTimer() >= 5000) {
вместо
Код AS3:
if (getTimer() >= _startTime) {
Добавлено через 1 минуту
а все понял прошу прощения) добавлением еще одной команды) просто не увидел дописаной строки)

Добавлено через 5 минут

Добавлено через 7 минут
оо до меня дошлоо) функция делей будет повторятся, вместо нее можно подставить любое значение. полагаю если я сделаю еще одно возвращение так сказать продублирую, и добавлю еще одну строку старт тайм с другим значением то оно будет меняться?
Код AS3:
private function enterFrameHandler(e:Event):void {
 
			if (getTimer() >= _startTime) {
				ship_b.x += _speed;
 
				if (ship_b.x <= -4000) {
					ship_b.x = 2000
					_startTime = getTimer() + _delay;
 
                         if (ship_b.x <= -4000) {
					ship_b.x = 2000
					_startTime = getTimer() + 3000;
				}
			}
		}
правильно понимаю? один раз она повторится по времени задержки, а второй раз уже по новому значению?

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

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

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


 


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


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