“相机”在许多游戏引擎里都有涉及
那是一个全新的坐标系,似乎是无上限的
但是不难发现,在scratch中
最多也只有320*2(x),180*2(y)【在gandi的16:9的屏幕中,不使用其他拓展的情况下】
这样看来我们必须建立我们自己的坐标系!
建立新的坐标系
现在请各位和我一起想象一下~
一个大大的十字架~
(拿个本子画算了)
然后呢,这是一个无限大的!
再然后的我们的舞台区会是这个样子,并且这时候舞台在这个大坐标系的xy就是相机xy
也可以说,相机在这个位置,我们画上背景
(字比较丑qwq)
好啦,我相信你一定知道这是什么意思了qwq
不过,我们的舞台没法动呀,所以我们可不可以用相对运动
让这个动起来
什么,你不知道?我来告诉你吧!
了解相对运动
相对运动,在物理上是这样的👇
相对运动是指一物体相对另一物体的位置随时间而改变,此物体对另一物体发生了运动,此物体处于相对运动的状态。如果相互之间的位置并不随时间而改变,则此物体即在相对静止状态之中。物体相对于其他运动的位置变化,叫做相对运动。
什么,你没弄懂?
问题不大,毕竟我的物理老师讲了一节课,我来试图讲一讲哈
有一辆火车在苦吃苦吃地跑~
有一只小猫在后面喵呜喵呜地追
哎对!就是这样!
这时候你看火车,是不是没动?
再看这个外面的风景是不是在倒退?
小猫也在倒退对吧?
那么好,你现在把你自己带入一个第三视角,固定在景物之中
是不是火车在往前,小猫也在往前
所以说,类比过来
虽然我们舞台区不能移动,但我们可以移动背景图片实现视觉上的运动!
不过背景图片该怎么移动呢?
移动背景图片
在移动之前,先确定一下
我们的相机xy是和我们的玩家xy挂钩的
因为要一直要让玩家在相机里面
那么,我们的相机xy应该等于玩家xy
先创建全局变量,相机x,相机y
我们还可以专门拉一个代码框,来存放这些代码
如果你跟着我在第一讲中“调教”了gandi的话
右键,选择新建代码框就好啦!
这样一来,你获得了一个代码框,接下来的写在这里就好了
竟然要一直赋值的话,可以重复执行
就像这样,很不错!
现在去移动地图,切换到地图,这时候我们要思考一下
怎么移动呢?
我们需要的是,让它一直固定在我们虚拟的坐标的正中间
如果相机也就是舞台在a点也就是(100,100),那么我需要让背景移动到(-100,-100)
同理,如果是b点(-100,-100),需要移动到(100,100)
总而言之,需要取相机的相反数
很不错,运行看看,背景很争气地跟着动起来啦!
不过不难发现这个玩家不对劲啊!
给自己呱唧呱唧👏
我记得4月10号是我生日是吧,嘿嘿,过生日还在写文章qwq
祝我生日快乐!
也祝各位小伙伴学业/事业有成!
<iframe
width="100%"
height="800px"
scrolling="no"
src="https://www.ccw.site/embed?id=avg101/ben/lec2/02&type=comment"
title="{冒险游戏初级教程-第二课第二节}"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowFullScreen
scrolling="0"
></iframe>