缩放Sprite和Surface必备——Better Scaling
https://marketplace.yoyogames.com/assets/1911/better-scaling
如果你有需要放大很多的sprite,那么最好不要直接通过xscale和yscale来调整,否则会出现大锯齿。使用这个脚本提供的better_scaling_draw_sprite可以很好地解决这个问题。
Juicy神器——Juicy Effect Tweening
https://marketplace.yoyogames.com/assets/1945/juicy-effects-tweening
游戏不Juicy怎么行?想要Juicy就要拒绝匀速运动!
Juicy Effect Tweening提供了各种各样的弹弹弹(一下想不到更好的描述方式,我觉得这个动词大家应该能感受到juicy)的效果供你选择,你只要在示例里找到你最满意的那一个,找到那个object,把它的代码复制出来自己用就好啦。基本上,只使用这样简单的代码就可以实现这些Easing的效果了:
//在Create里声明这些变量 scale = 0; //The scale of the object time = 0; //How long the animation will last //在Step里改变time这个变量。time算是一个计时器,它决定了表现的速度和时间——默认我们使用每帧0.01的增量,但如果你希望整体播放得更快,你可以把这个值调高;另外前面的if判断决定了整个juicy表现的时长。试试看吧。 if (time < 6) time += 0.01; scale = jfx_spring(time, 0.2, 1); //这里就是实际的工作代码啦。第一个time是我们之前做好的变量,第二个值是弹弹弹的速度,第三个值是弹弹弹的幅度。大家都试试看就好。 //刚才我们改变的是一个叫做scale的变量,其实它可以是任何东西——alpha值,xscale,yscale,position......最后在step里把这个scale的值赋给需要改变的值就好。 比如:image_xscale = scale;
Easing and Tweening
https://marketplace.yoyogames.com/assets/2395/easing-and-tweening
这个Easing的工具更直观地把常用的曲线公式做成了方法,使用的方式也很简单。你只需要先在Create里声明一个time变量,随后在Step事件里写上
time += 0.01
然后假设你需要easing的值是x,则在Step里
x = ease_out_bounce(time, 100, 50, 30);
这里的100,50,30分别是这个曲线的一些参数,可以自己去试一下。
Essential Scripts
https://marketplace.yoyogames.com/assets/1260/essential-scripts
这个是我每次开项目都第一个导入的脚本包,里面的东西真的很好用。我并没有用到里面全部的脚本,我就只挑几个常用的介绍一下,欢迎大家去探索剩下的内容:
draw_text_outlined //给文字加描边 draw_text_shadow //给文字加加一个可以配置颜色和透明度的阴影 draw_sprite_outlined //给sprite加描边 draw_sprite_shadow //给sprite加加一个可以配置颜色和透明度的阴影 approach //简单又好用的插值平滑方法,必用!如果你希望a能以每帧0.1的速度像b值逼近,你就在step里写 a = approach(a,b,0.1) smooth_approach //用法差不多,只不过第三个值是一个介于0和1之间的值,具体原理我也没研究过,大家都试试看吧! angle_approach //也是一个插值平滑,只不过是用在角度上的。 mouse_over //检查鼠标是不是悬停在物体的碰撞盒上。 stick_to //让一个object黏在另一个上面(比如头上插一个弓箭)。
Free Shaders
https://marketplace.yoyogames.com/assets/261/free-shaders
非常强大的常用2D Shader,而且还免费!
暂时就是这些,希望对大家有帮助。
Juicy神器——Juicy Effect Tweening 这玩意下架了
@骨折好少女:还真是。我还能通过自己的购买记录访问到,所以没注意到这件事。谢谢提醒!