|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Oct 2011
Сообщений: 18
|
как определять на какой форме указатель мыши?
Как лучше определять shape, на котором находится указатель мыши в данный момент?
Я пробовал делать через обработчик столкновений, для указателя мыши создавал body и задавал ему позицию так: Есть ли какие-нибудь другие способы? |
|
|||||
Таким методом можно
//http://www.emanueleferonato.com/2008/10/26/platform-game-basics-using-box2d/ /* Following function gets the body from a cordinate (x, y)*/ public function GetBodyAtPoint(px:Number, py:Number, includeStatic:Boolean = false):b2Body { // Make a small box. var px2:Number = px/physScale; var py2:Number = py/physScale; var PointVec:b2Vec2 = new b2Vec2(); PointVec.Set(px2, py2); var aabb:b2AABB = new b2AABB(); aabb.lowerBound.Set(px2 - 0.001, py2 - 0.001); aabb.upperBound.Set(px2 + 0.001, py2 + 0.001); // Query the world for overlapping shapes. var k_maxCount:int = 10; var shapes:Array = new Array(); var count:int = myWorld.Query(aabb, shapes, k_maxCount); var body:b2Body = null; for (var i:int = 0; i < count; ++i) { if (shapes[i].m_body.IsStatic() == false || includeStatic) { var tShape:b2Shape = shapes[i] as b2Shape; var inside:Boolean = tShape.TestPoint(tShape.m_body.GetXForm(), PointVec); if (inside) { body = tShape.m_body; break; } } } return body; }
__________________
Гоночка |
Часовой пояс GMT +4, время: 05:33. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|