用户:
小蓝教父查看:8 回复:9 评论:8 创建时间:2023-10-21T09:20:40
大家好,我是小蓝教父啊!!!大家可能通过《火柴人攻城战》了解了我,这个帖子我要教给大家的是作品中的
大地图(虚拟摄像机)的做法!!!

让我们先看看作品效果

好的,现在正式开始教程!!!
tips:未特殊标注的均为全局变量
首先第一步,在空白作品中绘制你的地图(不建议使用kitten 3;但kitten 4和nemo会好用一些)

第二步,很关键:将绘制的地图复制粘贴到一个空白角色中,注意一定是角色!!!

第三步:设置地图大小
我们需要把地图角色放大到你想要的大小
依据这个公式大致推算自己想要的大小
tips:地图大小:长=大小*6.4,宽=大小*3.6
—————————————————————现在开始写代码了!!!——————————————————————

第四步:编写地图脚本
这一步我们需要两个变量:xspeed和yspeed
当开始被点击:移到(0,0)
然后初始化两个变量为0

接着重复执行,内部放上四个按键判断
这一步注意了!!!填充的时候不要填错了!!!

↑:yspeed 设为负;↓:yspeed设为正
←:xspeed设为正;→xspeed设为负

(重复执行内部)将XY坐标分别增加xspeed/yspeed
将xspeed/yspeed减小(0.9为可调整数目,数目x满足(0<x<1))

最后在加上边界判断:
如果自己的y坐标>=-1080(上边界):将yspeed增加5(非新添加代码)
以此类推...
代码预览(其中±1080;±1920;0.9可根据自行情况修改)

到这里大地图就完成一半了!!!



——————————————————————第五步:角色交互——————————————————————
新建一个主人公(编程猫)和交互角色(雷电猴)
(tips:主人公是在屏幕中间的那个角色,不动)
主人公只需在一开始设置坐标为(0,0)

接下来是交互角色(雷电猴)的编程
在这之前,我们要先到地图角色里新建两个变量:镜头X和镜头Y
重复执行:将镜头X/Y设置为0-(自己的X/Y坐标)
注意这里别写错了!!!


然后回到交互角色(雷电猴)中,一定要回来!!!
新建2个变量X和Y(私有变量)
注意是私有变量!!!

然后定义一个函数:距离判断
将X设为:0,Y设为700(可自行调整)

下面这个代码很长,是交互角色中最难的代码,请做好准备

重复执行:如果(绝对值(镜头X-X)<=喵0)且(绝对值(镜头Y-Y)<=360)

那么:显示;将X/Y坐标设为X/Y-镜头X/Y
否则:隐藏

这里代码很长,看不懂文字的看图片

最后当开始被点击,调用距离判断函数
代码预览(其中0;700可根据情况自行修改)

——————————————————到这里大地图就可以完美撒花了!!!——————————————————




有了大地图,我们可以使作品的创作空间变得更大,从而拥有更多的展现方式
比如下面类型的作品,都可以使用大地图:
喵战游戏、沙盒游戏、塔防游戏......
最后给大家列举几个使用了大地图的好作(数据截止到2023.10.21.9:20)



浅浅打个广告不过分吧/\_/\

好的,这次教程即将结束,想要了解更多编程知识记得关注我哦!!!
(求赞,光写帖子写了2个小时/\V/\)



太感谢了imgsrc="https://static.cod喵/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E5%8A%A0%E6%B2%B9.gif"alt="emotion_编程猫_加油"
点赞0
评论