Показать сообщение отдельно
Старый 14.01.2016, 12:23
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
У вас боксы и плитки неправильно отрисовываются. Работать будет только для случая, когда размеры равны 1х1 тайл.

Добавлено через 29 минут
Должно быть как-то так:
DrawnIsoTile
Код AS3:
protected function draw():void
{
	graphics.clear();
	graphics.beginFill(_color);
	graphics.lineStyle(0, 0, .5);
	graphics.lineTo(size, size * .5);
	graphics.lineTo(0, size);
	graphics.lineTo(-size , size * .5);
	graphics.lineTo(0, 0);
}
DrawnIsoBox
Код AS3:
override protected function draw():void
{
	graphics.clear();
	var red:int = _color >> 16;
	var green:int = _color >> 8 & 0xff;
	var blue:int = _color & 0xff;
 
	var leftShadow:uint = (red * .5) << 16 | (green * .5) << 8 | (blue * .5);
	var rightShadow:uint = (red * .75) << 16 | (green * .75) << 8 | (blue * .75);
 
	var h:Number = _height * Y_CORRECT;
	// draw top
	graphics.beginFill(_color);
	graphics.lineStyle(0, 0, .5);
	graphics.moveTo(0, -h);
	graphics.lineTo(size, size * .5 - h);
	graphics.lineTo(0, size - h);
	graphics.lineTo(-size , size * .5 - h);
	graphics.lineTo(0, -h);
 
	graphics.endFill();
 
	// draw left
	graphics.beginFill(leftShadow);
	graphics.lineStyle(0, 0, .5);
	graphics.moveTo(-size , size * .5 - h);
	graphics.lineTo(0, size - h);
	graphics.lineTo(0, size);
	graphics.lineTo(-size , size * .5);
	graphics.lineTo(-size , size * .5 - h);
	graphics.endFill();
 
	// draw right
	graphics.beginFill(rightShadow);
	graphics.lineStyle(0, 0, .5);
	graphics.moveTo(0, size - h);
	graphics.lineTo(size, size * .5 - h);
	graphics.lineTo(size, size * .5);
	graphics.lineTo(0, size);
	graphics.lineTo(0, size - h);
	graphics.endFill();
}
__________________
משיח לא בא
משיח גם לא מטלפן