| 赞 | 76 |
| VIP | |
| 好人卡 | |
| 积分 | 147 |
| 经验 | |
| 最后登录 | 2025-12-9 |
| 在线时间 | 2175 小时 |
- 梦石
- 0
- 星屑
- 14720
- 在线时间
- 2175 小时
- 注册时间
- 2016-9-20
- 回帖
- 777
|
发表于 2023-1-5 13:18:23
|
显示全部楼层
以下代码为判断鼠标 在 精灵内 和 获取 鼠标像素颜色是否在精灵图片上 , 只可参考
[pre lang="ruby"] #已知$mx为鼠标x坐标, $my为鼠标y坐标 @按钮_位图为一个精灵
if ($mx >= @按钮_位图.x and $mx <= @按钮_位图.x+@按钮_位图.bitmap.width) and ($my >= @按钮_位图.y and $my <= @按钮_位图.y+@按钮_位图.bitmap.height)
x_b = @按钮_位图.x-$mx
y_b = @按钮_位图.y-$my
pixel = @按钮_位图.bitmap.get_pixel(x_b.abs,y_b.abs)
if pixel == Color.new(0,0,0,0) or pixel == Color.new(255,255,255,0)
return
#除了透明像素之外, 在精灵图大小以外的地方也会判断会另一种颜色, 因此不只一种 , 则满足为不在精灵图片之上[/pre]
顺序之前我也想了很久 , 好像在编程肯叫 "队列" (关键字) 或者搜 "数组队列" , 不过我自己看不懂
想知道生成顺序, 我方法是用一个数组用于 单独 纪录顺序, 生成精灵时使用push把标识加入到数组里, 这样在顺序越后的为越新 再用for循环偏历"纪录顺序数组"可知道哪个精灵是新旧, 如果"纪录顺序数组" 内顺序有变化, 也可以把数组内顺序进行对调
|
|