💡返回主题
编写代码
1.我们在“武器”角色中编写代码,让武器跟随玩家,并面向鼠标;
哦不!看起来效果不太好。 首先,武器看起来太大了,可以减小武器的大小,比如设为40;
其次,玩家应该始终朝着鼠标的方向,而不是面向自己移动的方向。
将玩家代码进行如下修改,让玩家一直面向鼠标。同时稍微缩小一点玩家的大小。
接着,当武器朝向左边时,造型颠倒了,应该翻转过来。
因此我们给武器添加一个上下翻转后的造型,当武器朝向左边,就切换到这个造型:
- 复制“步枪”造型,将新造型命名为“步枪左”
- 上下翻转造型。
注意:翻转后和翻转前,要尽量保持关于中心点对称:
关于中心点对称有一个技巧:添加一个高度能超过造型的矩形,将矩形居中后,再一起上下翻转。这样翻转后就能实现关于中心点对称。
2.然后,当枪对准左边时,使用上下翻转后的造型:
在这里,通过 “方向>0” 判断角色朝右;否则说明角色朝左,切换为翻转后的造型。
关于角色的方向:
- 角色的方向范围在-180° ~ 180°之间;
- 180° ~ 0° 是朝向左半边时的方向。-90° 为朝向正左方向;
- 0° ~ 180° 是朝向右半边时的方向。90°为朝向正右方向。
运行效果:
看起来,武器跟随玩家似乎有一点延迟——玩家移动时,武器还停在原地,过了一会才跟着移动。 这时可以通过使用“广播”,来同步位置,解决延迟问题。
3.玩家每次位置改变后进行一次广播:
武器收到广播,就移到玩家。从而实现了每次玩家移动,武器立刻跟着移动的效果,解决了延迟问题。 武器的代码修改如下:
这样,我们就完美实现了想要的效果:
<iframe
width="100%"
height="800px"
scrolling="no"
src="https://www.ccw.site/embed?id=STG101/Arkos/Lec2/02&type=comment"
title="{射击2-让武器跟随玩家}"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowFullScreen
scrolling="0"
></iframe>
本页索引