哪位大佬有网站快吧游戏盒的vip能借我一天下个游戏啊,跪求,好人好报

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

在本章节开始之前,我建议大家再重温一下《Flappy Bird》的原作一方面明确一下我们临摹嘚目标,另一方面也消解一下宅家的各种负面情绪

今天玩《FlappyBird》的时候请大家着重观察一下“主角”小鸟的各种特征:

  1. 小鸟飞翔的时候会扇动翅膀(帧动画)
  2. 我们通过点击鼠标(或点击手机屏幕)向它发出“飞”的指令(可交互)
  3. 获得指令后,小鸟会向上飞 如果点击不及時,小鸟会坠落(有物理属性)
  4. 当然最重要的,小鸟无论落到地面还是撞到柱子都会Game Over(可以发生碰撞)

在真实世界中上述特征都是“悝所当然”的(除了,小鸟一般不会受我们控制)然而在游戏这个“虚拟世界”里,没有什么是“理所当然”的一切都需要我们“伪慥”出来。从某种意义上说游戏开发的整个过程,就是运用各种技术在计算机中“伪造”出一个“世界”,让你在这个“世界”里獲得兴奋,紧张高兴,悲伤骄傲,挫折等等的体验

首先按照下图的样子把红色方框中的节点结构创建出来,注意以下几点:

  • 我没有修改节点的默认名称因此当前节点名称就代表着它们的类型,你可以按照上节的方法查找并创建它们
  • RigidBody2D必须是其余3个节点的父节点3个子節点间的相对顺序是无所谓的
  • Rigidbody2D叫做刚体节点,刚体一般用来描述和模拟一个具有物理性质的对象自身的运动状态比如质量/速度等等
  • CollisionShape2D直译叫碰撞形,有些引擎叫它碰撞盒或者包围盒上文说了虚拟世界里物体本来是没有物理轮廓或者外壳的,这个东西就用来模拟它的“外壳”
  • AnimationPlayer可是Godot Engine中一个非常强大的机制我们可以用它来很方便地组织动画
  • Sprite是我们的老朋友了,解释略

添加子节点的2种方法:

我个人更喜欢第二种方法因为 AnimationPlayer更灵活,并且无论2D还是3D游戏都有同样的工作流程而AnimatedSprite只能用于2D游戏
大家可以阅读官方中文文档

这时你会发现,这个图集的3帧都顯示出来了
把"Sprite"的中的HFrames设置为3就可以了(即:将图片水平3等分)

这时下方的动画列表中就出现了"fly"

这个时间轴是可以通过下方的滑杆来缩放的

點击添加轨道按钮添加一个属性轨道

这时会弹出一个节点选择窗口,选择我们的"Sprite"点击确定
这时,动画编辑器中就显示出了"Sprite" 的frame属性


为这個轨道添加关键帧直接在"Sprite" 的属性栏的frame属性处,连续点击3次这个“钥匙图标”(插关键帧)按钮即可同时,时间轴上也会显示我们的插帧情況
总帧数设为3开启循环最后点击以下动画预览按钮看一下


小鸟的翅膀扇动起来了!

同样的方法,在添加一组动画命名为"die",这个动画呮需一帧即可此过程省略


此时动画编辑器的动画列表中就有2组动画了
我们选择"fly"动画,点击旁边的A>按钮将"fly"动画设置为程序开始的默认动畫

下面我们来处理这个讨厌的警告

实际上点击这个警告标志,Godot就已经告诉我们原因了原来CollisionShape2D需要一个我们为它定义一下形状
点击它的Shape属性旁的“空”

这个碰撞盒的形状怎么选择呢?越精确贴合图片形状的碰撞盒碰撞效果越精确,但是运算量消耗也越大因此我们选择碰撞盒的时候,要好好衡量性价比幸运的是我们的小鸟圆滚滚的,用一个最简单的原型碰撞盒就可以很准确的贴合了
调整圆形碰撞盒的半徑,使它更好的贴合

与此同时黄色的警告标记也消失了

正在前往请稍后...

官方直营 中国網投第一诚信平台

我要回帖

更多关于 哪位大佬 的文章

 

随机推荐