Я использую Sprites для рисования изображений в окне D3D. Я рисую изображение на каждом спрайте внутри прямоугольника (0, 0, ширина, высота) и использую Matrix.Transformation2D для размещения изображения в визуализированном представлении.Обнаружение щелчка мыши и преобразование2D в Direct3D
Пример:
using (Sprite s = new Sprite(device))
{
s.Begin(SpriteFlags.AlphaBlend);
Matrix tranz = new Matrix();
tranz =
Matrix.Transformation2D(new Vector2(0, 0), 0.0f,
new Vector2(scale, scale),
new Vector2(0, 0), Geometry.DegreeToRadian(angle),
new Vector2(positionX, positionY));
s.Transform = tranz;
Vector3 spriteCenter = new Vector3(0.0f, 0.0f, 0.0f);
Vector3 sprPosition = new Vector3(0.0f, 0.0f, 0.0f);
s.Draw(someTexture, new Rectangle(0, 0, width, height),
spriteCenter, sprPosition,
Color.FromArgb(0xff, 255, 255, 255));
s.End();
}
Как я могу определить, что определенный образ был нажат?
Известные параметры: 1. Позиция мыши: mouseX, мышиный 2. Все transformation2D параметры 3. Размер и положение изображения внутри спрайта.
Этого должно быть достаточно данных, чтобы получить то, что я хочу, но я понятия не имею, что делать.
BTW - нет преобразования мира или других, чтобы включить в расчет. Я просто трансформирую спрайты.