jma*_*erx 6 c++ user-interface
我已经能够找到很多关于游戏实际逻辑开发的信息.我真的很想做一个纸牌游戏,但我根本不明白如何根据鼠标位置选择一个对象(或至少是正确的方式)首先我想到了边界框检查,但并不是我的所有位图都是矩形.然后我想用每个具有不同颜色的物体制作一个隐藏的缓冲区,但是这样做必然是荒谬的.我想知道它是如何完成的.例如,Adobe Flash如何知道鼠标下的对象?
谢谢
您的问题是如何判断鼠标是否位于非矩形位图上方.我假设您的所有位图都是矩形,但它们具有透明区域.您必须已经能够以某种方式告诉您(矩形)位图的哪个部分是透明的,这取决于您使用的方案(例如,如果您将颜色指定为透明或使用位掩码).您还将了解画布上位图的z顺序(分层).然后,当您在位置(x,y)处检测到单击时,您需要找到跨越该像素的矩形位图列表.按z顺序对它们进行排序,并为每个检查像素是否透明.如果是,请转到下一个位图.如果不是,则这是所选的位图.