猫史档案馆


大地图(虚拟摄像机)详细教程!!!

用户:小蓝教父小蓝教父查看:8 回复:9 评论:8 创建时间:2023-10-21T09:20:40


大家好,我是小蓝教父啊!!!大家可能通过《火柴人攻城战》了解了我,这个帖子我要教给大家的是作品中的

大地图(虚拟摄像机)的做法!!!

emotion_编程猫_厉害了

让我们先看看作品效果

center_image

好的,现在正式开始教程!!!

tips:未特殊标注的均为全局变量

首先第一步,在空白作品中绘制你的地图(不建议使用kitten 3;但kitten 4和nemo会好用一些)

center_image

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

center_image

第三步:设置地图大小

我们需要把地图角色放大到你想要的大小

依据这个公式大致推算自己想要的大小

tips:地图大小:长=大小*6.4,宽=大小*3.6

—————————————————————现在开始写代码了!!!——————————————————————

emotion_编程猫_加油

第四步:编写地图脚本

这一步我们需要两个变量:xspeed和yspeed

当开始被点击:移到(0,0)

然后初始化两个变量为0

center_image

接着重复执行,内部放上四个按键判断

这一步注意了!!!填充的时候不要填错了!!!

emotion_编程猫_搓头

↑:yspeed 设为;↓:yspeed设为

←:xspeed设为;→xspeed设为

center_image

(重复执行内部)将XY坐标分别增加xspeed/yspeed

将xspeed/yspeed减小(0.9为可调整数目,数目x满足(0<x<1)

center_image

最后在加上边界判断:

如果自己的y坐标>=-1080(上边界):将yspeed增加5(非新添加代码)

以此类推...

代码预览(其中±1080;±1920;0.9根据自行情况修改)

center_image

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

emotion_编程猫_加油emotion_编程猫_加油emotion_编程猫_加油

 

——————————————————————第五步:角色交互——————————————————————

新建一个主人公(编程猫)和交互角色(雷电猴)

(tips:主人公是在屏幕中间的那个角色,不动)

主人公只需在一开始设置坐标为(0,0)

center_image

接下来是交互角色(雷电猴)的编程

在这之前,我们要先到地图角色新建两个变量:镜头X和镜头Y

重复执行:将镜头X/Y设置为0-(自己的X/Y坐标)

注意这里别写错了!!!

emotion_编程猫_搓头

center_image

然后回到交互角色(雷电猴)中,一定要回来!!!

新建2个变量X和Y(私有变量)

注意是私有变量!!!

emotion_编程猫_搓头

然后定义一个函数:距离判断

将X设为:0,Y设为700(可自行调整

center_image

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

emotion_编程猫_紧张

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

center_image

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

否则:隐藏

center_image

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

emotion_编程猫_搓头

最后当开始被点击,调用距离判断函数

代码预览(其中0;700可根据情况自行修改)

center_image

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

emotion_编程猫_厉害了emotion_编程猫_厉害了emotion_编程猫_嗨起来emotion_编程猫_嗨起来

有了大地图,我们可以使作品的创作空间变得更大,从而拥有更多的展现方式

比如下面类型的作品,都可以使用大地图:

喵战游戏、沙盒游戏、塔防游戏......

最后给大家列举几个使用了大地图的好作(数据截止到2023.10.21.9:20)

emotion_编程猫_厉害了

center_imagecenter_image

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

center_image

好的,这次教程即将结束,想要了解更多编程知识记得关注我哦!!!

(求赞,光写帖子写了2个小时/\V/\)

emotion_星能猫_爱你emotion_编程猫_溜了溜了emotion_星能猫_爱你


回复

上一页1 页 / 共 1下一页
小蓝教父小蓝教父

制作不易,给我的作品点个赞呗

点赞2


评论


小蓝教父小蓝教父

联机大地图就将所有人的X和Y(私有变量)压缩到一个云变量中,再分开使用:

eg:center_image

center_image

列表中就会实时更新玩家坐标

点赞3


评论


三体_歌者三体_歌者

你那个游戏美术要改进

点赞0


评论


ruler_first_officialruler_first_official

可以哟,可以给作品专门搞一个封面

点赞0


评论


合超级薄套装合超级薄套装

谁大地图还这么做啊,用的都是函数XY变量

点赞0


评论


南阳过客南阳过客

很好了,优化一下UI就行了

点赞0


评论


呆若木鸡的老李呆若木鸡的老李

太感谢了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


评论


just_Do_itjust_Do_it

 

 

收藏一波

点赞0


评论


一只电报员一只电报员

good

点赞0


评论