求助
gamemaker吧
全部回复
仅看楼主
level 5
▫向导大人▫
楼主
用的是gm8
我想搞一个角色被选中时描边的效果
我的思路是把精灵涂成描边的颜色,然后在上下左右加一个像素各绘制一个,然后在原位置绘制出正常的精灵
用什么方法可以把精灵的颜色涂成想要的颜色,除了透明色其它完全替换
或者有什么别的方法能实现这种描边的效果
2020年03月15日 11点03分
1
level 5
▫向导大人▫
楼主
还有一个问题,我要用框选来选择物体,怎么找到所有被框住的物体
用collision_rectangle检测只能返回一个被框柱的物体
2020年03月15日 12点03分
2
level 15
sunyubokkkkk
描边:
最简单的办法:在精灵编辑器里为每个需要的精灵添加一个描边的子图像。运行时运算的办法:使用surface和blend_mode。最好的办法:改用gms2并使用shader。
框选:
其中一种办法:使用while循环,每次collision_rectangle之后将当次检测到的实例deactivate,这样该实例就不会参与下一次检测,如此循环,直到collision_rectangle检测不到碰撞,然后把之前所有检测到的实例重新activate。最好的办法:改用gms2,并直接调用collision_rectangle_list。
2020年03月15日 14点03分
3
▫向导大人▫
额,谢谢
2020年03月15日 14点03分
▫向导大人▫
那个用surface和blendmode描边的方法能不能具体讲下 我研究了好长时间没研究出来
2020年03月15日 14点03分
level 15
sunyubokkkkk
在把一个精灵绘制到一个表面上时,表面上已有的像素称为目标像素,将要绘制的精灵上的像素称为源像素。绘制的过程实际上是目标像素的rgba值乘一组数,源像素的rgba值乘一组数,再相加。现在我们是要保留精灵的形状,但是换一个颜色:因此源只提供形状,即alpha通道,目标提供颜色,即rgb通道。根据这一目标,找出这样的两组数。
这些用来乘的数可能的取值,以及其他详情参照F1帮助的draw_set_blend_mode_ext函数的说明。
2020年03月15日 14点03分
4
▫向导大人▫
a知道了
2020年03月15日 14点03分
1