Ste*_*eve 1 xna mouseover isometric
我试图在等距2D游戏中确定鼠标在哪个精灵上.我认为我最好的选择是将每个精灵不同的颜色绘制成一个单独的renderTarget2D并将其转换为一个Texture2D点,此时我可以从鼠标点获取颜色数据并根据绘制的精灵进行检查.
renderTarget2D
Texture2D
我使用该方法的问题是,我无法将单个精灵的颜色更改为纯色.如果我更改了spriteBatch.Draw调用中的颜色,它只会对精灵的颜色进行着色而不是将其绘制为纯色,因此从纹理中检索的数据无效.
spriteBatch.Draw
有任何建议或帮助以纯色绘制这些精灵?
Luc*_*ius 6
不要这样做.创建一个新的渲染目标并将数据复制到内存中,即使每秒只有几百个精灵,也远远超出当前系统所能处理的范围.
只需使用ContainsRectangle结构的方法:
Contains
var destination = new Rectangle(100, 100, 50, 50); bool mouseOver = destination.Contains(mouseX, mouseY);
归档时间:
12 年,9 月 前
查看次数:
3652 次
最近记录: