При рисовании параллельных вертикальных линий с фиксированным расстоянием между ними (1,75 пикселя) с нецелым смещением по x-значению по обеим линиям линии по-разному отображаются в зависимости от смещения. На рисунке ниже две пары очень близко друг к другу вертикальных линий. Как видите, они выглядят совсем по-другому. Это расстраивает, особенно при анимации спрайта.
альтернативный текст http://img94.imageshack.us/img94/8606/lines2.png
Есть идеи, как сделать так, чтобы графика спрайтов с нецелыми позициями визуально отображалась одинаково?
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
public class tmpa extends Sprite
{
private var _sp1:Sprite;
private var _sp2:Sprite;
private var _num:Number;
public function tmpa( ):void
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
_sp1 = new Sprite( );
drawButt( _sp1, 0 );
_sp1.x = 100;
_sp1.y = 100;
_num = 0;
_sp2 = new Sprite( );
drawButt( _sp2, _num );
_sp2.x = 100;
_sp2.y = 200;
addChild( _sp1 );
addChild( _sp2 );
addEventListener( Event.ENTER_FRAME, efCb, false, 0, true );
}
private function efCb( evt:Event ):void
{ _num += .1;
if (_num > 400)
{ _num = 0;
}
drawButt( _sp2, _num );
}
private function drawButt( sp:Sprite, offset:Number ):void
{
var px1:Number = 1 + offset;
var px2:Number = 2.75 + offset;
sp.graphics.clear( );
sp.graphics.lineStyle( 1, 0, 1, true );
sp.graphics.moveTo( px1, 1 );
sp.graphics.lineTo( px1, 100 );
sp.graphics.lineStyle( 1, 0, 1, true );
sp.graphics.moveTo( px2, 1 );
sp.graphics.lineTo( px2, 100 );
}
}
}
редактировать из исходного поста, который думал, что проблема была связана с X-позиции спрайта.