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

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

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

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
2repz =)
Держи свой глобус : ) звезды рисовать будем ?


Читай внимательно :
Код:
_root.planeta._x = 324;
_root.planeta._y = 108;
в этих строчках находятся координаты расположения основного ролика на сцене , меняеш их меняешь расположение твоей планеты на сцене , другое ничего нетрогай =)

далее :
Код:
this.moves.bmp0._x -= 1;
this.moves.bmp1._x -= 1;
здесь задаем скорость вращения , еденичка и есть параметр скорости , можеш поставить другую скорость какая наиболее приемлима для твоего проекта , ах вот еще у обоих роликов скорость должна быть одинакова .

Удачи , если что спрашивай =)



P.S.
Квейк 4 =)

Код:
import flash.display.*;
////
this.createEmptyMovieClip("planeta", this.getNextHighestDepth());
this.planeta.createEmptyMovieClip("moves", this.getNextHighestDepth());
//
for (var i:Number = 0; i<=1; i++) {
	this.planeta.moves.createEmptyMovieClip("bmp"+i, i);
	var myBitmapData:BitmapData = BitmapData.loadBitmap("pic");
	this.planeta.moves["bmp"+i].attachBitmap(myBitmapData, i);
	this.planeta.moves["bmp"+i]._width = 432;
	this.planeta.moves["bmp"+i]._height = 216;
}
this.planeta.moves.bmp0._x = -216;
this.planeta.moves.bmp0._y = -108;
//
this.planeta.moves.bmp1._x = 216;
this.planeta.moves.bmp1._y = -108;
////
this.planeta.attachMovie("mask", "mask1", 2, {_x:216, _y:216});
this.planeta.mask1._width = this.planeta.mask1._height=216;
this.planeta.mask1._x = -108;
this.planeta.mask1._y = 0;
this.planeta.moves.setMask(this.planeta.mask1);
//
_root.planeta._x = 324;
_root.planeta._y = 108;
////
this.planeta.onEnterFrame = function() {
	this.moves.bmp0._x -= 1;
	this.moves.bmp1._x -= 1;
	if (this.moves.bmp0._x<=-648) {
		this.moves.bmp0._x = 216;
	}
	if (this.moves.bmp1._x<=-648) {
		this.moves.bmp1._x = 216;
	}
};
Вложения
Тип файла: rar proba globe12.part1.rar (93.8 Кб, 54 просмотров)
Тип файла: rar proba globe12.part2.rar (93.8 Кб, 50 просмотров)
Тип файла: rar proba globe12.part3.rar (49.4 Кб, 56 просмотров)
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники


Последний раз редактировалось D12; 13.10.2006 в 00:53.
Старый 13.10.2006, 02:25
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 12  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 repz:
Я немного переделал вашу флешку. Посмотрите, что у вас в библиотеке.
Сделал так, что карта масштабируется по размеру круглой маски.
Код:
Код:
var mainContainerClipName:String = "map";
var mapContainerClipName:String = "mapContainer";
var mapMaskClipName:String = "mask";
var mapClipBaseName:String = "map";
var left:Number = 100;
var top:Number = 100;
var speed:Number = -1;
var mapCounter:Number = 0;

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());
mapContainerClip.setMask(mapMaskClip);
addNewMap(0);

function addNewMap(newMapX:Number)
{
	var mapClipName:String = mapClipBaseName + mapCounter;
	var mapClip:MovieClip = mapContainerClip.attachMovie("map", 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++;
}
Исходник прикрепляю...
Вложения
Тип файла: rar globe.part1.rar (89.8 Кб, 67 просмотров)
Тип файла: rar globe.part2.rar (89.8 Кб, 65 просмотров)
Тип файла: rar globe.part3.rar (61.1 Кб, 78 просмотров)
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

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

Регистрация: Mar 2006
Сообщений: 425
Хемуль, D12 спасибо огромное с кодом вроде чуть разобрался, но вот вопрос, размер маски уменьшил например до 94*94, а вот картинку как подогнать не наю, не получается все съезжает?
Код:
this.planeta.attachMovie("mask", "mask1", 2, {_x:94, _y:94});
this.planeta.mask1._width = this.planeta.mask1._height=94;
this.planeta.mask1._x = -108;
this.planeta.mask1._y = 0;
this.planeta.moves.setMask(this.planeta.mask1);
это у D12,
Хемуль, а как у тя изменить положение на сцене?
Так:
Код:
_root.map._x = 200;
_root.map._y = 50;


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

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
В моём примере положение и размеры изменяются достаточно просто. Жирным выделено то, что изменилось:
Код:
var mainContainerClipName:String = "map";
var mapContainerClipName:String = "mapContainer";
var mapMaskClipName:String = "mask";
var mapClipBaseName:String = "map";
var mainContainerLeft:Number = 100;
var mainContainerTop:Number = 100;
var mainContainerWidth:Number = 94;
var mainContainerHeight:Number = 94;
var speed:Number = -1;
var mapCounter:Number = 0;

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);

function addNewMap(newMapX:Number)
{
	var mapClipName:String = mapClipBaseName + mapCounter;
	var mapClip:MovieClip = mapContainerClip.attachMovie("map", 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++;
}
Переменные mainContainerLeft, mainContainerTop, mainContainerWidth, mainContainerHeight задают положение верхнего левого угла контейнера (прямоугольника, в который вписана планета по сути), его ширину и высоту.
Но учтите, что у вас карта - большая картинка при уменьшении и движении она "серебрится". Поэтому, если необходимо использовать только маленькую такую маленькую планету, уменьшите лучше ещё кратинку в библиотеке.
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

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

Регистрация: Mar 2006
Сообщений: 425
Ок спасибо, понял. Вот снова проблем этот код не работает из под цикла, т.е. что-то там if { далее код...... - не работает! Возможна ли обработка в цикле этого кода вообще?

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

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

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

Регистрация: Mar 2006
Сообщений: 425
У мя по задумке два шарика (глобуса) один ночной другой утренний, как бы, потом идет проверка на время и в зависимости от этого показывается один или другой.
P.S. Если сделать из глобуса mc то все заработает? по идее.
P.S. Ну да так и есть в мувик загнать, а потом через визибл настроить :-)))) или есть еще варианты??


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

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 repz:
А чем "ночной" глобус отличается от дневного?

PS:
Прокручивающаяся карта, и круглая маска для неё и так находятся в мувиклипе, ссылка на который хранится в переменной mainContainerClip.
То есть, смотрите, как всё работает. Есть один общий мувиклип-контейнер. Его координаты и размеры определяют размеры глобуса. Внутри этого главного контейнера есть два мувиклипа - контейнер для прокручивающейся карты и маска для него. Внутри мувиклипа-контейнера для карт двигаются прикреплённые из библиотеки мувиклипы карт. ^_^
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

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

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

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

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 repz:
Вот по поводу определения времени суток:
http://flasher.ru/forum/showthread.php?t=86278
Осталось только изменить что-то в глобусе.
Так всё же, чем "ночной" глобус отличается от дневного?
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

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

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

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


 


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


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