领土战争制作教程ᵃˡᵍᵒᵈᵒᵒ

您所在的位置:网站首页 怎么制作弹幕视频教程 领土战争制作教程ᵃˡᵍᵒᵈᵒᵒ

领土战争制作教程ᵃˡᵍᵒᵈᵒᵒ

2024-06-24 21:17| 来源: 网络整理| 查看: 265

在完成几次领土战争的游戏之后,我觉得我可以出一个领土战争制作的教程。

看了这个你绝对可以做出我这个类似的视频

开始

1、需要下载Algodoo、Visual Studio Code这两个软件,在前者中远行领土战争,在后者中写写代码。(后面出现网址什么的也会放在代码块中,∵这样方便)

为什么在另一个软件中写代码呢?∵一开始不熟练就在Algodoo中写会非常难受。

2、如果你是第一次接触Algodoo那么在下载完之后过一遍Algodoo自带的基础教程,了解如何画出⚪或者方形。

从左到右依次是缩放、移动画面、撤销、运行、重做、重力开关、空气摩擦力等开关、网格开关你应该到软件中去了解,而跳过这部分。

3、那么在完成第二步之后你应该可以做一个外形像这样的东西:

外边框使用四个长方形组合而成,每大块领地用16个小正方形组成,球就是球喽♪(^∇^*)

那么点击运行,他就会散掉╰(*°▽°*)╯

∴我们要将他固定在背景上

具体操作,选中你要固定的物件(一般使用 方框工具 大面积选中。比如说这里:选中所有,按Ctrl用鼠标去掉四个小球)右键出现编辑选单--几何行为--黏附到背景。

这样之后再运行,就只会看到球在其中抖动

抖动是因为碰撞,这些所有的物体碰撞层都是一样的(只要你没改过)。

那就来修改碰撞作用层

将四个部分的小球和领地的碰撞层改成这样,外边框只勾选碰撞层I就好

两个物体有相同的碰撞层就会相互作用,没有就不会作用。

相同的碰撞作用层在关掉引力之后,其中一个物体给予引力(材质--引力),另一个物体会被吸引 

这就是做好上述步骤之后运行的结果

当然仅仅是这样的小球,速度是会衰减的,如何保证小球速度不变、碰撞其他色块时改变颜色

请继续往下看

4、这个时候已经有了框架,我们现在需要实现一些功能

这些功能基本都在 右键 -- script脚本选单中

    4.1、保持小球速度(当然这不是必要的)

        这里我们需要了解一个文档[1],在第25页有较多我们会用到的内容。

        poststep,按步更新器,在按下拟真按钮后才会执行其中的代码,否则不会主动执行。

也就是说,运行之后这里面的代码会一直执行

    4.2、小球撞到其他领土可以占领它,使其成为自己的领土

        

        我们同样可以在上面这个文档的25页找到相关的东西

            on Collide,碰撞触发器,当物体与其他物体发生碰撞时才会执行,否则不会主动执行。

            碰撞触发器中的可用来双向获取数据代码有两种,分别为:

                A.e.other.碰撞该物体的其他物体的自身属性]( on Collide特有)

                B.e.this.[被碰撞物体的自身属性使用时可以随意使用。

      

        这里我一般会给小球添加一个队伍属性的变量

(用来判断这个小球是什么颜色,当然你也可以直接判断小球的碰撞层:collideSet)

注意,这里添加的变量是局部的,也就是说出了这个块块,别的地方是没有的,不知道的

我提到了判断,既 如果 A (表达式) 是正确的 ,则 执行 A1 ,否则 执行 A2。

当然,所有的语句块都是可以跳过的

那么将其他领土变成该小球的领土需要对领土改变什么呢(@_@;)

碰撞层 和 颜色

这里我一般把代码写在 领土块 的 onCollide 里,而不写在小球里

对每个小球的postStep添加速度恒定、_team队伍标识,每个领土添加上述If判断之后的运行效果

    4.3、小球的消失(也就是该颜色被淘汰、或自己设定的小球死亡规则)

(先说该颜色被淘汰)一般是使某个领土块特殊化

我们让这个特别的领土在被碰撞时改变某变量,来记录这个队伍的血量

这里需要新建全局变量:也就是任何一个块中出现这个变量都是指它,全场通用

按 ~ 键(Tab键上面那个)可以在软件里唤出全局变量的框框o(〃'▽'〃)o

添加全局4个全局变量之后,我们为下面16个选中的块添加下面的代码

并在做四个用来显示的方块 ,代码如下

16个核心块(基地) onCollide 里的代码要换成下面这个

那么在完成上述操作后就可以得到下面这个动图的效果

我这里想让核心块(基地)小于等于1的小球去世

在那个文档的22页末尾

timeToLive,存在时间,默认为∞。如果设置它的值为一个小的值后,按下拟真开始按钮后,它将会开始倒计时,当它的值为0后,该物体将会自动消失。

看到这里,如果你已经自己完成并理解了上述的操作,

那么这条让小球消失的代码你应该可以自己完成。

具体的方式如下:

在小球的postStep里写一个If 判断,将 G_Ncb※



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3