撰写了文章 更新于 2019-02-22 20:14:08
godot第二弹:让角色动起来
今日主要的学习任务:
1.导入角色,写脚本让角色可左右移动。
2.增加角色行走动画,可完成待机、行走等动作。
3.增加背景动画。
学习心得:
以下是完成角色的左右平移(无行走动作):
1.将图片导入形式像素化,Pixel Perfect 。godot有个功能是可以将图片自动生成像素化的完美像素图。
其好处:a占用空间小 b放大后依然清晰,不会模糊
做法:a在属性面板(import)中选择Texture,并选择2D Pixel。b需要重新导入re import。
2.导入地面时,教程有个概念叫“图片材质的平铺属性”有什么作用?
平铺作用:可以将导入的图片复制延申,常用作地图制作。(其实手动复制摆放也可以,这个功能可以使程序自动复制原素材,达到想要的长度)
方法:a先选中图片,启用 Repeat 功能,re import 重新导入图片。
!!!!!!!这里重做时,发生了问题。记住图片属性一定要repeat和filter属性然后在操作。
b选择监视器中的Region,打开Enable 设置长度即可(Rect)
3.注意渲染次序是自上而下,所以最下面的图层渲染出来是显示器的最前面一层。
4.填写脚本注意问题
a GD Script脚本if语句后面不要忘了加 “:”,与C++写法区分开
b Vector 2的用法、Role.scale的用法 可查官方文档
5.有个移动显示的bug未找到原因:
内容:如果导入角色图片时将原图缩小了,则移动图片时,还是会还原成原来的大小。
解决方案:Role.scale = Vector 2(direction*0.13, 0.13) //将Vector 2方法的两个参数都乘以固定比例即可。
下面是学习三种动画效果:
1.使用精灵Animated Sprite 节点创建序列帧动画,用于角色行走待机动作。
具体做法: 先创建一个Animated Sprite结点用来保存该动画。然后在Animated Sprite结点监视器中,新建一个sprite Frames。后打开动画编辑器,将序列帧放入动画编辑器后可直接生成行走动画。可调节动画的播放频率。
需要注意的是,控制动画同时需要添加脚本。根据玩家控制不同,播放不同的动画即可实现上下左右方向的动作。
2.使用代码控制天空滚动动画。
先学会设置一个结点的原点位置:把一张图片的原点的位置移动到左上角。
云朵平移实现思路:左右两个相同的云,同时往左移动。当左边那张图移出舞台的左边界后,马上移动到右边那张图后面,倒换顺序,继续滚动,如此循环以实现背景的无视差连续运动。(!!这里拼接时,1,2顺序左移动,1消失出现2时,总是差一点。2移动到1后没有问题。未找到原因)
3.使用AnimationPlayer关键帧制作动画
这种动画方法,导入的是一张大图。所有的序列帧都存放于这张大图中。
通过设置监视器里的Animation属性,来控制图片。
通过代码中获取 Swan 的 Frame 属性,将他的值每次+1就能形成动画。
同时,用代码控制天鹅的飞行轨迹和速度。
AnimationPlayer的用法:它与动画的sprite结点是平行关系(!!!!这里用法较复杂,需要在研究一下)
今天先到这里咯~