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

Регистрация: Apr 2009
Сообщений: 409
Писал не так давно, работает с любыми текстурами и displayObject + трансформации
Код AS3:
private static var context:Context3D;
private static var hitPixel:BitmapData = new BitmapData(1, 1);
private static var hitRender:RenderSupport = new RenderSupport();	
private static var hitColor:uint = 0xff00ff; // color for opacity indication
 
public static function hitPixelPerfect(me:DisplayObject,localPoint:Point):Boolean {
	hitRender.nextFrame();
        hitRender.clear(hitColor); 
	me.localToGlobal(localPoint, helperPoint);
	me.parent.globalToLocal(helperPoint, helperPoint);
	hitRender.setProjectionMatrix(helperPoint.x, helperPoint.y, 1, 1, starlingStage.stageWidth, starlingStage.stageHeight, starlingStage.cameraPosition);
	hitRender.transformMatrix(me);
	hitRender.pushMatrix();
	me.render(hitRender, 1);
	hitRender.popMatrix();
	hitRender.finishQuadBatch();
	context.drawToBitmapData(hitPixel);
        return (hitPixel.getPixel(0,0)!=hitColor)
		}