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

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

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

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
посмотри

=)
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

Старый 16.10.2006, 22:00
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 32  
Ответить с цитированием
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
http://www.flasher.ru/forum/showthre...t=%F7%E0%F1%FB
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

Старый 16.10.2006, 22:10
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 33  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
Это да, хотя раньше тоже вроде была, приветствия там от времени суток, кода еще на хтмл баловался, насчет Хемуля поморим может и можно, даже наверняка можно перегружать мувик со скриптом например соответственно он новые вводные получает через setinterval например, я так думаю.

P.S. ссори не заметил ссылок (там как раз про интервал)


Последний раз редактировалось repz; 16.10.2006 в 22:12.
Старый 17.10.2006, 03:03
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 34  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 repz:
Новый код:
Код:
var mainContainerClipName:String = "map";
var mapContainerClipName:String = "mapContainer";
var mapMaskClipName:String = "mask";
var mapClipBaseName:String = "map";
var dayMapId:String = "map1";
var nightMapId:String = "map2";
var mainContainerLeft:Number = 100;
var mainContainerTop:Number = 100;
var mainContainerWidth:Number = 94;
var mainContainerHeight:Number = 94;
var speed:Number = -1;
var nightBeginHour:Number = 22;
var nightEndHour:Number = 5
var mapCounter:Number = 0;
var currentMapId:String = getNewMapId();

var mainContainerClip:MovieClip = this.createEmptyMovieClip(mainContainerClipName, this.getNextHighestDepth());
var mapContainerClip:MovieClip = mainContainerClip.createEmptyMovieClip(mapContainerClipName, mainContainerClip.getNextHighestDepth());
var mapMaskClip:MovieClip = mainContainerClip.attachMovie("mapMask", mapMaskClipName, mainContainerClip.getNextHighestDepth());
mainContainerClip._x = mainContainerLeft;
mainContainerClip._y = mainContainerTop;
mainContainerClip._width = mainContainerWidth;
mainContainerClip._height = mainContainerHeight;
mapContainerClip.setMask(mapMaskClip);
addNewMap(0);
var timer:Number = setInterval(this, "checkTime", 1000);

function addNewMap(newMapX:Number)
{
	var mapClipName:String = mapClipBaseName + mapCounter;
	var mapClip:MovieClip = mapContainerClip.attachMovie(currentMapId, mapClipName, mapContainerClip.getNextHighestDepth(), {_x:newMapX});
	var mapScale:Number =  (mapMaskClip._height / mapClip._height) * 100;
	mapClip._xscale = mapScale;
	mapClip._yscale = mapScale;
	mapClip.id = mapCounter;
	mapClip.onEnterFrame = function()
	{
		this._x += speed;
		if (this._x + this._width < this._parent._parent[mapMaskClipName]._width && this._parent[mapClipBaseName + (this.id + 1)] == undefined)
		{
			addNewMap(this._x + this._width);
		}
		if (this._x + this._width < 0)
		{
			this.removeMovieClip();
		}
	};
	mapCounter++;
}

function getNewMapId():String
{
	var myDate:Date = new Date();
	if ((myDate.getHours() < nightEndHour) || (myDate.getHours() >= nightBeginHour))
	{
		return nightMapId;
	}
	else
	{
		return dayMapId;
	}
}

function checkTime()
{
	var newMapId:String = getNewMapId();
	if (currentMapId != newMapId)
	{
		var currentMapClipName:String = mapClipBaseName + (mapCounter - 1);
		var previousMapClipName:String = mapClipBaseName + (mapCounter - 2);		
		var currentMapClip:MovieClip = mapContainerClip[currentMapClipName];
		var previousMapClip:MovieClip = mapContainerClip[previousMapClipName];
		var currentMapClipX:Number = currentMapClip._x;
		var previousMapClipX:Number = previousMapClip._x;
		currentMapId = newMapId;
		if (previousMapClip != undefined)
		{
			previousMapClip.removeMovieClip();
			addNewMap(previousMapClipX);
		}
		currentMapClip.removeMovieClip();
		addNewMap(currentMapClipX);
	}
}
Задаётся начальный час ночи и час, который уже с утра ночью не является (конец ночи). При загрузке флешки ставится необходимая карта и каждую секунду производится проверка времени. Если меняется время суток (ночь/день), текущие полоски карт удаляются, а на их место ставятся "противоположные".
Обязательно посмотрите новую флешку, которую я прикрепляю. Я в библиотеке уменьшил картинку, чтобы она меньше занимала. Если будут вопросы, пишите.
И ещё удалите строку trace(newMapX); из кода флешки. Она там не нужна. Я просто забыл удалить,а перезакачивать архивы лень. ^_^

2 D12:
Вообще я говорил о перезагрузке всей флешки. Но даже если говорить о мувиклипе карты, который движется под круглой маской, его тоже можно не перезагружать из библиотеки. Просто в библиотеке создаётся мувиклип из двух кадров. На кадрах дневная и ночная карты. В случае перехода на другую часть дня просто меняется кадр мувиклипа. Ну и что, я врал? Или это в вас опять говорит предвзятое отношение ко мне и моим примерам? ^_^
Вложения
Тип файла: rar globe.part1.rar (89.8 Кб, 34 просмотров)
Тип файла: rar globe.part2.rar (89.8 Кб, 35 просмотров)
Тип файла: rar globe.part3.rar (77.5 Кб, 42 просмотров)
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

Старый 17.10.2006, 11:31
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 35  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
2 Хемуль:
Разбираюсь......, что не пойму спрошу!
P.S. Спасиб

Старый 17.10.2006, 17:51
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 36  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
2 Хемуль:
Что т не пойму где идет проверка через интервал? видимо здесь:
Код:
var timer:Number = setInterval(this, "checkTime", 1000);
, но как ее прикрутит вот сюда:
Код:
var nightBeginHour:Number = 22;
var nightEndHour:Number = 5;
day_mc._visible = false;
ni_mc._visible = false;
	var myDate:Date = new Date();
	if ((myDate.getHours() < nightEndHour) || (myDate.getHours() >= nightBeginHour))
	{
		ni_mc._visible = true;
		
	}
	else
	{
		day_mc._visible = true;
	}

Старый 17.10.2006, 18:02
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 37  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 repz:
А зачем её туда прикручивать? Тот скрипт, который я вам выше привёл, производит проверку на время и меняет карты. То есть, больше никаких проверок не надо. Я поставил такие настройки, что ночь начинается в 22 часа и заканчивается в 5. Вот запустите эту флешку и попробуйте системное время поменять в операционной системе. Поставьте сперва, например, 21 час, а потом 22. Увидите, как меняется глобус в реальном времени...
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

Старый 17.10.2006, 18:19
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 38  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
2 Хемуль
Да нет же, с той флешкой я разобрался, что да как просто хочу попрактиковаться немного и понять как что по отдельности использовать или по другому не так как я раньше делал. Вот и спрашиваю из Вашего же примера как туда прикрутить проверку через интервал?


Последний раз редактировалось repz; 17.10.2006 в 18:24.
Старый 17.10.2006, 18:29
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 39  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
Я на интервал повесил функцию checkTime. Вот её начало:
Код:
function checkTime()
{
    var newMapId:String = getNewMapId();
    if (currentMapId != newMapId)
То есть, мы в переменную newMapId заносим результат функции getNewMapId(), которая и производит проверку на часы. Потом в теле checkTime() идёт проверка, которая проверяет, изменилась ли требуемая карта. Таким образом отлавливается момент перехода через часовой барьер ночи.
Сама же функция проверки и выбора необходимого linkage Id'а библиотеки для мувиклипа карты выглядит так:
Код:
function getNewMapId():String
{
    var myDate:Date = new Date();
    if ((myDate.getHours() < nightEndHour) || (myDate.getHours() >= nightBeginHour))
    {
        return nightMapId;
    }
    else
    {
        return dayMapId;
    }
}
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

Старый 17.10.2006, 18:42
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 40  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
2 Хемуль:
Спсб, буду пробовать.

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

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

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


 


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


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