![]() |
|
||||||||||
|
|||||
|
меценат
|
2repz =)
Держи свой глобус : ) звезды рисовать будем ? Читай внимательно : в этих строчках находятся координаты расположения основного ролика на сцене , меняеш их меняешь расположение твоей планеты на сцене , другое ничего нетрогай =) далее : здесь задаем скорость вращения , еденичка и есть параметр скорости , можеш поставить другую скорость какая наиболее приемлима для твоего проекта , ах вот еще у обоих роликов скорость должна быть одинакова . Удачи , если что спрашивай =) 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;
}
};
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники Последний раз редактировалось D12; 13.10.2006 в 00:53. |
|
|||||
|
Квач
Регистрация: 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++;
}
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
|
Регистрация: 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);
Хемуль, а как у тя изменить положение на сцене? Так: Последний раз редактировалось repz; 16.10.2006 в 13:20. |
|
|||||
|
Квач
Регистрация: 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++;
}
Но учтите, что у вас карта - большая картинка при уменьшении и движении она "серебрится". Поэтому, если необходимо использовать только маленькую такую маленькую планету, уменьшите лучше ещё кратинку в библиотеке.
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 425
|
Ок спасибо, понял. Вот снова проблем этот код не работает из под цикла, т.е. что-то там if { далее код...... - не работает! Возможна ли обработка в цикле этого кода вообще?
|
|
|||||
|
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 repz:
В цикле нет. Извините, можете подробнее о своей задаче? Зачем вам эти проверки и циклы? Может я вам подскажу более рациональное решение в рамках готового...
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 425
|
У мя по задумке два шарика (глобуса) один ночной другой утренний, как бы, потом идет проверка на время и в зависимости от этого показывается один или другой.
P.S. Если сделать из глобуса mc то все заработает? по идее. P.S. Ну да так и есть в мувик загнать, а потом через визибл настроить :-)))) или есть еще варианты?? Последний раз редактировалось repz; 16.10.2006 в 14:58. |
|
|||||
|
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 repz:
А чем "ночной" глобус отличается от дневного? PS: Прокручивающаяся карта, и круглая маска для неё и так находятся в мувиклипе, ссылка на который хранится в переменной mainContainerClip. То есть, смотрите, как всё работает. Есть один общий мувиклип-контейнер. Его координаты и размеры определяют размеры глобуса. Внутри этого главного контейнера есть два мувиклипа - контейнер для прокручивающейся карты и маска для него. Внутри мувиклипа-контейнера для карт двигаются прикреплённые из библиотеки мувиклипы карт. ^_^
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 425
|
С этим разобрался, но время то как определять в любом случае через цикл.
|
|
|||||
|
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 repz:
Вот по поводу определения времени суток: http://flasher.ru/forum/showthread.php?t=86278 Осталось только изменить что-то в глобусе. Так всё же, чем "ночной" глобус отличается от дневного?
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|