Показать сообщение отдельно
Старый 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 - ты слишком умён для этого