异世界宝石游戏技术分享----moonbit编程游戏赛道

github地址:

MoonBit-Code-JAM-2024/teams/无孔之木 at main · chenzehaoo/MoonBit-Code-JAM-2024

欢迎各位去体验和游玩异世界宝石游戏,也为我的游戏点上一颗star吧-

基础内容

画线:

画圆:

画区域:

文本:

强制类型转化显示:

坐标可自行改动

颜色设定

可以通过rgb颜色查找表查找对应的十六进制

绘制精灵

在wasm4官网下载w4引擎包,在你当下的moonbit项目终端里运行以下命令,将图转化成十六进制

左边是w4文件位置,右边是图片位置,下面是一个绘制的代码示例

可以对其进行水平垂直对称翻转,通过这样就不用一像素一像素去堆了

坐标变化

要通过坐标变化进行角色人物移动或者地图场景切换和实时移动,需要先定义坐标位置

子弹发射函数

这里给出一个示例,子弹随着update函数自动刷新,这里没有进行按键绑定子弹发射,只增加了一个碰撞判定,再把子弹的位置归为初始位置

碰撞函数

检测坐标是否重叠

扣血判定和场景结束判定

由于这里每个关卡进去以后会根据血量为0时能量条的判定绘制不同的场景,进行了多个false和true的判定,判定为true时执行另外的指令,这里给出一个示例

音乐执行(tone)

可以在wasm4官网学习具体步骤,到iwas软件中调试自己的音乐音频、持续时间、峰值等等参数,再进行导出根据转化表进行转化,在wasm4上将给出的html解析文件改成网页,将导出的disk包上传解析,对应转化表即可

当然,如果要让音乐正常播放,你还要调试好延迟播放和结束等等,可以调试多个,在不同的场景进行播放,这里给出示例

地图移动

可以在绘制时绑定需要移动图的x坐标和y坐标,在人物移动时加上两个坐标的移动量,需要控制好图的长度,否则移动时可能会缺失

按键检测

官方提供了上下左右,鼠标,空格\x,z这些键,可以通过判定检测不同的键实现更多功能,这里存在一个问题,似乎moonbit里面鼠标的中键和右键的逻辑颠倒了,写的时候注意一下就会

得分函数

这里设定了两个图,当吃到第一个金币时,会在另一个位置重新生成,循环反复,分数增加,函数如下,当然可以用随机数来生成金币的位置,由于此游戏没使用,这里略过

注意的地方:

切换场景可以直接通过判定按键或者坐标来切换,在更新函数外重新定义一个函数来编写新场景的游戏逻辑,当条件达成时进行切换。

在给游戏进行延迟加入时,需要注意,延迟判定使用的数值应该定义在全局变量,否则,会导致延迟错乱,游戏运行出现bug。

如果想要让图自动移动,设定图的坐标x,y在结构体调用,然后让两个坐标根据你的需求进行自增自减即可。

游戏详细介绍地址:

异世界宝石游戏案例----基于moonbit编程下的wasm4引擎-优快云博客

分享到这里就差不多了,如果你想要看更加详细的代码,我在github上已经公开了我的代码,那里还提供了详细的游戏讲解说明,点击下面链接即可直达,如果你还有什么疑问的话,直接在下方留言吧。

github地址:

MoonBit-Code-JAM-2024/teams/无孔之木 at main · chenzehaoo/MoonBit-Code-JAM-2024

欢迎各位去体验和游玩异世界宝石游戏,也为我的游戏点上一颗star吧-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值