角色函数
2025/4/22...大约 3 分钟约 826 字
关于角色函数
- 角色函数包括
创建角色,控制角色,移除角色(这里暂且不讨论战斗人物相关函数)。 - 为了更好区分主角与npc,鹰歌使用了
hero与role两种函数作为区分。
创建主角/角色
以下为创建主角的例子:
game.createhero({RID: "资源ID", $name: "主角名字",$speed:速度});我们将重要的参数陈列出来:
- RID:RID是游戏内部的资源ID,他会引用
角色一栏的资源,如图,Role1,美奈子等都是RID

- $name:$name(别忘了
$号)表示角色名称,会显示在一个角色的头顶上(当然也可以不显示每次)

- 函数
createhero,createrole参数及其说明:
无特殊说明,函数前均省略game类。标注默认则表示系统会默认设置该参数
| 参数 | 解释 | 类型 |
|---|---|---|
| RID | 资源ID | String |
| $name | 角色名称 | String |
| $x | 像素坐标x | number |
| $y | 像素坐标y | number |
| $bx | 地图块坐标x | number |
| $by | 地图块坐标y | number |
| $action | 为0表示暂时静止为 1表示随机移动为 -1表示禁止移动和操作为 2表示定向移动 | number |
| $direction | 面向方向(0、1、2、3分别表示上右下左) | number |
| $showName | 为是否头顶显示名字(默认true) | Bool |
| $id | 用于角色特征识别(默认$name) | String |
| $penetrate | 是否可穿透 | Bool |
| $realSize | 影子大小(默认) | number |
| $start | 表示角色是否自动动作(true或false) | String |
控制/获取 主角/角色
来看一个示例,它展示如何修改和获取角色属性:
//让主角移动到(10,10)
game.hero(0,{$targetBx:10,$targetBy:10});
//获取id为npc的角色属性
var npc = game.role(`npc`);
//获取地图坐标x
var npcX = npc.$bx;函数
hero,role参数及其说明:第一个参数:
| 参数 | 解释 | 类型 |
|---|---|---|
| $id | 从id获取属性为 0表示主角 | String |
- 内部参数:
| 参数 | 解释 | 类型 |
|---|---|---|
| $x | 像素坐标x | number |
| $y | 像素坐标y | number |
| $bx | 地图块坐标x | number |
| $by | 地图块坐标y | number |
| $targetBx | 定向移动地图块坐标x | number |
| $targetBy | 定向移动地图块坐标y | number |
| $$nActionType | 角色是否运动10为正在运动 | number |
| $targetX | 定向移动像素坐标x | number |
| $targetY | 定向移动像素坐标y | number |
| $action | 为0表示暂时静止为 1表示随机移动为 -1表示禁止移动和操作为 2表示定向移动 | number |
| $direction | 面向方向(0、1、2、3分别表示上右下左) | number |
| $showName | 为是否头顶显示名字 | Bool |
| $realSize | 影子大小 | number |
| $start | 表示角色是否自动动作(true或false) | String |
- 删除主角/角色
这个非常简单,不多赘述
game.delrole(0); //0表示主角
game.delrole(`npc`);| 参数 | 解释 | 类型 |
|---|---|---|
| $id | 填入删除角色的id | String |
练习
制作一个游戏,包括:
创建主角“鹰歌”
创建NPC“小明”
main.js参考代码
//游戏开始脚本(开始时调用)
function *$start() {
game.loadmap('填入你的地图名');
//下面是练习内容
//...
}人物函数用法是不是很简单呢?接下来我们学习地图类函数!
更新日志
2025/12/12 16:57
查看所有更新日志
c79f3-于bc868-于0fa1b-于a6267-于3430e-于80410-于d9648-于a82c7-于1fbc1-于5e1ec-于
