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吧-

被折叠的 条评论
为什么被折叠?



