11、createPercentage
命令用途
creatPercentage 命令用于创建数值条控件。
(1)数值条用于显示当前值在范围内所占的比,可用于制作血条、好感条等。
(2)公式:图片当前长度/图片原始长度=当前值的绝对值/最大值减最小值的绝对值。
(3)当参数为变量且变量改变时,需调用 updateNotification 更新数值条控件显示。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标志,用于操作该控件
层级 index 否 number 0 数值条在其所属层内的层级
所属层 inlayer 否 string 'window' 数值条所属的层,顶级的层是 window
可见 visible 否 boolean true 数值条是否可见
最小值 minNum 是 number&function 空 最小值,参数接受函数或 number 值。当为函数时,调用 updateNotification 会调用该函数,更新控件显示
最大值 maxNum 是 number&function 空 最大值,参数接受函数或 number 值。当为函数时,调用 updateNotification 会调用该函数,更新控件显示
当前值 num 是 number&function 空 当前值,参数接受函数或 number 值。当为函数时,调用 updateNotification 会调用该函数,更新控件显示
图片资源 resId 是 string 空
坐标 pos 否 Position {x: 0, y: 0} 数值条的锚点在画布上的位置,两个参数均为整数
锚点 anchor 否 Position {x: 0, y: 0} 锚点指从控件左下角出发,相对于控件大小的百分比。
缩放 scale 否 number 100 缩放比例,大于 0 的整数,100 表示图片本身的缩放比例
范例
//创建一个表示血条的数值条。当前值为变量lifeValue,用于表示当前生命值。
ac.createPercentage({
name: 'percentage1',
index: 0,
inlayer: 'window',
visible: true,
minNum: 0,
maxNum: 100,
num: lifeValue,
resId: '$144349',
pos: { x: 640, y: 360 },
anchor: { x: 50, y: 50 },
scale: 100,
});
12、createInputBoxGroup
命令用途
createInputBoxGroup 用于创建输入框控件。
(1)输入框控件可以将用户输入的文字储存在指定变量中。
(2)输入框控件可以有多个文字输入框。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标志,用于操作该控件
层级 index 否 number 0 输入框在其所属层内的层级
所属层 inlayer 否 string 'window' 输入框所属的层,顶级的层是 window
可见 visible 否 boolean true 输入框是否可见
大小 size 是 Size 空 输入框大小
坐标 pos 否 Position {x: 0, y: 0} 输入框坐标
锚点 anchor 否 Position {x: 0, y: 0} 输入框锚点
提示文字样式 reactStyle 否 string 空 赋值判定反馈的提示文字样式
输入文本框组 inputBoxGroup 否 Array. 空 文本框组
按钮正常图 buttonNResId 否 string 空 按钮正常图的资源 ID
按钮点击图 buttonSResId 否 string 空 按钮点击图的资源 ID
按钮坐标 btnPos 否 Position {x: 0, y: 0} 按钮的位置坐标
按钮锚点 btnAnchor 否 Position {x: 0, y: 0} 按钮的锚点
按钮点进事件 onTouchBegan 否 function 空 按钮点击按下触发的事件
按钮点出事件 onTouchEnded 否 function 空 按钮点击抬起触发的事件
范例
//创建一个带两个文本框的输入框控件
ac.createInputBoxGroup({
name: 'inputBoxGroup1',
index: 0,
inlayer: 'window',
visible: true,
pos: { x: 580, y: 201 },
size: { width: 340, height: 256 },
inputBoxGroup: [
{
placeHolder: '请输入文本',
max: 100,
min: 0,
inputHeight: 44,
inputWidth: 320,
x: 580,
y: 413,
},
{
placeHolder: '请输入文本',
max: 100,
min: 0,
inputHeight: 44,
inputWidth: 320,
x: 580,
y: 323,
},
],
buttonNResId: '93593',
btnPos: { x: 800, y: 201 },
});
13、createOption
命令用途
createOption 命令用于创建按钮。
(1)按钮本身没有阻断效果,按钮出现后不会阻止后续命令执行。
(2)按钮点击后不会消失,按钮要使用消失(remove)命令消失。
(3)注意按钮和选项组的区别:按钮没有阻断而选项组有阻断;按钮点击后不消失而选项组点击后会消失。我们一般在 UI 里用按钮制作菜单按钮,因为菜单按钮需要点击多次。我们一般在剧情里使用按钮制作悬浮组件,因为按钮不会阻碍剧情的进行。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标志,用于操作该控件
层级 index 否 number 0 按钮在其所属层内的层级
所属层 inlayer 否 string 'window' 按钮所属的层,顶级的层是 window
可见 visible 否 boolean true 按钮是否可见
正常图 nResId 否 string 空 按钮正常图的资源 ID
点击图 sResId 否 string 空 按钮点击图的资源 ID
文字内容 content 否 string 空 按钮上提示文字的内容
文字样式 style 否 string 空 按钮上提示文字的样式
坐标 pos 否 Position {x: 0, y: 0} 按钮坐标
锚点 anchor 否 Position {x: 0, y: 0} 按钮锚点
透明度 opacity 否 number 100 透明度,0~100 的整数
缩放 scale 否 number 100 缩放比率,0~100 的整数
点进事件 onTouchBegan 否 function 空 按钮点击按下触发的事件
点出事件 onTouchEnded 否 function 空 按钮点击抬起触发的事件
点击音效 clickAudio 否 ClickAudio 全局配置 按钮的点击音效配置,属性缺失时获取全局配置中的默认设置
范例
//创建两个函数clickOn和clickOff
async function clickOn() {}
async function clickOff() {}
//创建按钮option1,点进事件clickOn,点出事件clickOff
ac.createOption({
name: 'option1',
index: 0,
inlayer: 'window',
visible: true,
nResId: '436766',
content: 知道了
,
pos: { x: 640, y: 360 },
anchor: { x: 50, y: 50 },
onTouchBegan: clickOn,
onTouchEnded: clickOff,
});
14、createShareOption
命令用途
createShareOption 命令用于创建分享按钮。
(1)玩家点击分享按钮后,可以将作品分享给好友。
(2)分享成功事件仅在玩家分享成功后触发,一般用来制作作品内的分享奖励。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标志,用于操作该控件
层级 index 否 number 0 按钮在其所属层内的层级
所属层 inlayer 否 string 'window' 按钮所属的层,顶级的层是 window
可见 visible 否 boolean true 按钮是否可见
正常图 nResId 否 string 空 按钮正常图的资源 ID
点击图 sResId 否 string 空 按钮点击图的资源 ID
坐标 pos 否 Position {x: 0, y: 0} 按钮坐标
锚点 anchor 否 Position {x: 0, y: 0} 按钮锚点
分享成功事件 shareSuccessFunc 否 function 空 分享成功事件仅在分享成功后触发。分享流程中断或失败将不触发该事件。
范例
//创建一个函数award
async function award() {}
//创建分享按钮shareOption1,分享成功事件award
ac.createShareOption({
name: 'shareOption1',
index: 0,
inlayer: 'window',
visible: true,
nResId: '1060911',
pos: { x: 640, y: 360 },
anchor: { x: 50, y: 50 },
shareSuccessFunc: award,
});
15、createExitOption
命令用途
createShareOption命令用于创建退出作品按钮。
该按钮无需添加点击事件,玩家点击该按钮将退出作品。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标志,用于操作该控件
层级 index 否 number 0 按钮在其所属层内的层级
所属层 inlayer 否 string 'window' 按钮所属的层,顶级的层是 window
可见 visible 否 boolean true 按钮是否可见
正常图 nResId 否 string 空 按钮正常图的资源 ID
点击图 sResId 否 string 空 按钮点击图的资源 ID
坐标 pos 否 Position {x: 0, y: 0} 按钮坐标
锚点 anchor 否 Position {x: 0, y: 0} 按钮锚点
范例
//创建一个退出作品按钮exitOption1,该按钮的事件由系统写好,点击即退出作品
ac.createExitOption({
name: 'exitOption1',
index: 0,
inlayer: 'window',
visible: true,
nResId: '1060913',
pos: { x: 640, y: 360 },
anchor: { x: 50, y: 50 },
});
16、creatBuyOption
命令用途
createBuyOption命令用于创建购买按钮。
该按钮需要绑定一个商品,玩家点击该按钮即可进入该商品的购买流程。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标志,用于操作该控件
层级 index 否 number 0 按钮在其所属层内的层级
所属层 inlayer 否 string 'window' 按钮所属的层,顶级的层是window
可见 visible 否 boolean true 按钮是否可见
正常图 nResId 否 string 空 按钮正常图的资源ID
点击图 sResId 否 string 空 按钮点击图的资源ID
已购买 bResId 否 string 空 按钮已购买图的资源ID
坐标 pos 否 Position {x: 0, y: 0} 按钮坐标
锚点 anchor 否 Position {x: 0, y: 0} 按钮锚点
关联商品ID productId 是 string 空 按钮所关联的商品ID,用于确定购买哪个商品
范例
//创建一个购买按钮buyOption1,绑定商品ID26612200727001,点击即进入购买流程
await ac.createBuyOption({
name: 'buyOption1',
index: 0,
inlayer: 'window',
visible: true,
nResId: '82518',
bResId: '$82519',
pos: {x: 640,y: 360,},
anchor: {x: 50,y: 50,},
productId: '26612200727001',
});
17、creatPrepayOption
命令用途
createPrepayOption命令用于创建投币按钮。
该按钮无需添加点击事件,玩家点击该按钮即可向作品投币。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标志,用于操作该控件
层级 index 否 number 0 按钮在其所属层内的层级
所属层 inlayer 否 string 'window' 按钮所属的层,顶级的层是window
可见 visible 否 boolean true 按钮是否可见
正常图 nResId 否 string 空 按钮正常图的资源ID
点击图 sResId 否 string 空 按钮点击图的资源ID
坐标 pos 否 Position {x: 0, y: 0} 按钮坐标
锚点 anchor 否 Position {x: 0, y: 0} 按钮锚点
范例
//创建一个投币按钮prepayOption1,点击即向作品投币
await ac.createPrepayOption({
name: 'prepayOption1',
index: 0,
inlayer: 'window',
visible: true,
nResId: '102392',
pos: {x: 640,y: 360,},
anchor: {x: 50,y: 50,},
});
18、creatAutoRun(占位)
命令用途
命令属性
范例
19、creatAdOption
命令用途
createAdOption命令用于创建广告按钮。
该按钮可添加观看成功事件,玩家点击该按钮即可观看广告,观看成功后会执行观看成功事件。
(1)目前只在移动端支持观看广告。
(2)广告方式为激励视频,玩家观看成功后开发者可获得广告收益。
(3)观看成功后会执行观看成功事件,开发者可以在此设置作品内激励,例如属性增加等。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标志,用于操作该控件
层级 index 否 number 0 按钮在其所属层内的层级
所属层 inlayer 否 string 'window' 按钮所属的层,顶级的层是window
可见 visible 否 boolean true 按钮是否可见
正常图 nResId 否 string 空 按钮正常图的资源ID
点击图 sResId 否 string 空 按钮点击图的资源ID
坐标 pos 否 Position {x: 0, y: 0} 按钮坐标
锚点 anchor 否 Position {x: 0, y: 0} 按钮锚点
观看广告成功事件 viewSuccessFunc 否 function 空 用户观看广告且观看成功后会执行的事件
范例
//创建一个广告按钮adOption1,点击即可观看广告
await ac.createAdOption({
name: 'adOption1',
index: 0,
inlayer: 'window',
nResId: '1533343',
pos: {x: 640,y: 360,},
anchor: {x: 50,y: 50,},
visible: true,
viewSuccessFunc:function1, //观看成功事件:绑定函数
});
//创建函数
async function function1() {
//开发者可以在这里写玩家成功观看广告后的激励事件,例如属性增加等
}
20、creatDownloadOption(占位)
命令用途
命令属性
范例
21、createChat
命令用途
createChat命令用于创建社交控件。
社交控件一般用来做短信、聊天、朋友圈样式等。
(1)社交控件并非多人通讯系统,只是模拟通讯样式。
(2)createChat命令(界定范围)需要配合createMessage命令(发送消息)使用。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标志,用于操作该控件
层级 index 否 number 0 社交控件在其所属层内的层级
所属层 inlayer 否 string 'window' 社交控件所属的层,顶级的层是window
可见 visible 否 boolean true 社交控件是否可见
大小 size 否 size 空 社交控件的宽高。决定了消息(message)在画面上可显示的范围。
坐标 pos 否 Position {x: 0, y: 0} 社交控件坐标
锚点 anchor 否 Position {x: 0, y: 0} 社交控件锚点
消息排列顺序 sort 否 CHAT_SORT_TYPES ac.CHAT_SORT_TYPES.bottom 消息排列顺序决定了新发送的消息(message)在社交控件中的位置。顺序'bottom'则排在社交控件底部,倒序'top'则排在社交控件顶部。
范例
22、creatMessage
命令用途
creatMessage命令用于向指定的社交控件(chat)内发送消息(message),消息将被发送到社交控件所划定的视觉范围里。
(1)一个社交控件(chat)里可以发送多条消息(message)。
(2)新消息的位置视社交控件的“消息排列顺序属性(sort)”而定。
(3)相同ID的message遵循同名替换通用规则,即新消息会替换旧消息。
(4)消息分为文字消息和图片消息。
命令属性
中文名 英文名 必传 值类型 默认值 说明
社交控件标识 chatId 否 string 空 目标社交控件的唯一标识(name)
消息ID id 否 string 空 消息唯一标志,用于操作该消息。(1)两个消息ID一样时,后发送的消息会替换前面的。(2)删除消息时,通过ID确定删除哪条消息。
消息模式 mode 否 HALIGN_TYPES ac.HALIGN_TYPES.left (1)左气泡ac.HALIGN_TYPES.left(2)中气泡ac.HALIGN_TYPES.middle(3)右气泡ac.HALIGN_TYPES.right。
消息发送效果 effect 否 EFFECT_TYPES ac.EFFECT_TYPES.normal 消息发送时的效果,支持ac.EFFECT_TYPES.normal、ac.EFFECT_TYPES.fadein、ac.EFFECT_TYPES.moveinTop、ac.EFFECT_TYPES.moveinBottom、ac.EFFECT_TYPES.moveinRight、ac.EFFECT_TYPES.moveinLeft
消息是否可以阻断 - 否 - - -
是否有角色名 hasRoleName 否 boolean true 是否有角色名
角色名 roleName 否 string 空 角色名
角色名样式 roleNameStyle 否 string 空 角色名的文字样式
是否有角色头像 hasRoleAvata 否 boolean true 是否有角色头像
角色头像资源ID roleAvatarResId 否 string 空 角色头像资源ID
气泡模式 type 否 MESSAGE_TYPES ac.MESSAGE_TYPES.text (1)文字模式: ac.MESSAGE_TYPES.text(2) 图片模式: ac.MESSAGE_TYPES.pic
文字气泡颜色 bgColor 否 string '#ffffff' 文字气泡颜色
文字气泡透明度 bgOpacity 否 number 100 文字气泡透明度
文字气泡内容 content 否 string 空 文字气泡内容
图片气泡资源 picResId 否 string 空 图片气泡资源
图片气泡缩放 picScale 否 number 100 图片气泡缩放
图片气泡点进事件 onTouchBegan 否 function 空 图片气泡点进事件,即点击按下触发的事件
图片气泡点出事件 onTouchEnded 否 function 空 图片气泡点出事件,即点击抬起触发的事件
范例
23、chatOn
命令用途
chatOn命令用于显示社交控件。已显示的社交控件可用chatOff隐藏。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标社交控件的唯一标识
效果 effect 否 string 'normal' 显示效果,参数有'normal'(直接出现)、'fadein'(淡入)
持续时间 duration 否 number 0 显示效果的持续时间,单位是毫秒
范例
24、chatOff
命令用途
chatOff用于隐藏社交控件。已隐藏的社交控件可用chatOn显示。
隐藏(chatOff)并不清除社交控件资源,此时社交控件仍旧占用内存。移除社交控件需要使用消失(remove)命令。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标社交控件的唯一标识
效果 effect 否 string 'normal' 隐藏效果,参数有'normal'(直接出现)、'fadeout'(淡出)
持续时间 duration 否 number 0 隐藏效果的持续时间,单位是毫秒
范例
25、chatClear
命令用途
chatClear命令用于清空社交控件(chat)内的所有消息(message)。
该清除不可逆,即已清除的消息记录无法找回,只能重新通过消息命令(message)添加。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标社交控件的唯一标识
范例
26、messageClear
命令用途
messageClear命令用于删除指定消息。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标社交控件的唯一标识
消息ID id 是 string 空 目标消息的ID
范例
3、可视实体动作
1、show
命令用途
show 命令用于把不可见的实体变为可见,即把实体的 visible 属性从 false 改为 true。所有带有 visible 属性的实体都适用 show 命令。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
效果 effect 否 string 'normal' 显示效果,参数有'normal'(直接出现)、'fadein'(淡入)
持续时间 duration 否 number 0 显示效果的持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 显示效果是否可以根据玩家点击屏幕跳过
范例
//创建图片image1,visible属性为false,image1不可见
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 640, y: 360 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: false,
});
//image1以淡入效果显示,持续时间为1秒
ac.show({
name: 'image1',
effect: 'fadein',
duration: 1000,
canskip: false,
});
2、hide
命令用途
hide 命令用于把可见的实体变为不可见,即把实体的 visible 属性从 true 改为 false。所有带有 visible 属性的实体都适用 hide 命令。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
效果 effect 否 string 'normal' 隐藏效果,参数有'normal'(直接出现)、'fadeout'(淡出)
持续时间 duration 否 number 0 隐藏效果的持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 隐藏效果是否可以根据玩家点击屏幕跳过
范例
//创建图片image1,visible属性为true,image1可见
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 640, y: 360 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
});
//image1以淡出效果隐藏,持续时间为1秒
ac.hide({
name: 'image1',
effect: 'fadeout',
duration: 1000,
canskip: false,
});
3、remove
命令用途
remove 命令用于把已创建的可视实体从画布上消失。
(1)remove 命令的本质是清除指定的可视实体及其资源。remove 与 hide 效果相像但本质不同,hide 不清除资源。
(2)所有可视实体均适用 remove 命令。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
效果 effect 否 string 'normal' 消失效果,参数有'normal'(直接出现)、'fadeout'(淡出)
持续时间 duration 否 number 0 消失效果的持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 消失效果是否可以根据玩家点击屏幕跳过
范例
//创建图片image1,visible属性为true,image1可见
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 640, y: 360 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
});
//清除image1及其资源。以淡出效果清除,持续时间为1秒
ac.remove({
name: 'image1',
effect: 'fadeout',
duration: 1000,
canskip: false,
});
4、moveTo
命令用途
moveTo 命令用于把已创建的可视实体,从当前位置移动到目标位置。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
目标位置 X 坐标 x 否 number 0 目标位置横坐标
目标位置 Y 坐标 y 否 number 0 目标位置纵坐标
持续时间 duration 否 number 0 持续时间,单位是毫秒
是否可跳过 canskip 否 boolean 0 动作是否可以根据玩家点击屏幕跳过
缓冲 ease 否 EaseType EASE_TYPES.normal 缓冲效果,使动作过渡更加平滑
范例
//创建图片image1,初始位置为(100,200)
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 100, y: 200 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
});
//image1在1秒期间从位置(100,200)移动到(900,500)
ac.moveTo({
name: 'image1',
x: 900,
y: 500,
duration: 1000,
});
5、moveBy
命令用途
moveBy 命令用于把已创建的可视实体,从当前位置移动若干偏移量。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
X 坐标偏移量 x 否 number 0 横坐标偏移量
Y 坐标偏移量 y 否 number 0 纵坐标偏移量
持续时间 duration 否 number 0 持续时间,单位是毫秒
是否可跳过 canskip 否 boolean 0 动作是否可以根据玩家点击屏幕跳过
缓冲 ease 否 EaseType EASE_TYPES.normal 缓冲效果,使动作过渡更加平滑
范例
//创建图片image1,初始位置为(100,200)
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 100, y: 200 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
});
//image1在1秒期间从位置(100,200)移动偏移量(900,500),即移动到目标位置(1000,700)
ac.moveBy({
name: 'image1',
x: 900,
y: 500,
duration: 1000,
});
6、scaleTo
命令用途
scaleTo 命令用于缩放可视实体。以可视实体的原始大小为参考,缩放到指定比例。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
X 轴缩放比例 x 否 number 100 相对原始大小,x 轴方向的缩放比例
Y 轴缩放比例 y 否 number 100 相对原始大小,Y 轴方向的缩放比例
持续时间 duration 否 number 0 持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 动作是否可以根据玩家点击屏幕跳过
缓冲 ease 否 EaseType EASE_TYPES.normal 缓冲效果,使动作过渡更加平滑
范例
//创建图片image1,初始缩放为100%
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 100, y: 200 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
});
//image1在1秒期间,X轴缩放至初始的50%
ac.scaleTo({
name: 'image1',
x: 50,
y: 100,
duration: 1000,
});
7、scaleBy
命令用途
scaleBy 命令用于缩放可视实体。以可视实体的当前大小为参考,缩放到指定比例。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
X 轴缩放偏移 x 否 number 0 相对当前大小,x 轴方向的缩放比例
Y 轴缩放偏移 y 否 number 0 相对当前大小,Y 轴方向的缩放比例
持续时间 duration 否 number 0 持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 动作是否可以根据玩家点击屏幕跳过
缓冲 ease 否 EaseType EASE_TYPES.normal 缓冲效果,使动作过渡更加平滑
范例
//创建图片image1,初始缩放为100%
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 100, y: 200 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
});
//image1在1秒期间,X轴缩放至当前的50%
ac.scaleBy({
name: 'image1',
x: 50,
y: 100,
duration: 1000,
});
//延迟
await ac.delay({
time: 1000,
});
//image1在1秒期间,X轴缩放至当前的50%,即初始的25%
ac.scaleBy({
name: 'image1',
x: 50,
y: 100,
duration: 1000,
});
8、rotateTo
命令用途
rotateTo 命令用于以锚点为中心旋转可视实体。旋转到以初始状态为起点的某个角度。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
角度 1 angle1 否 number 0 纵轴旋转角度目标值。angle1 使图片围绕锚点顺时针或逆时针旋转,angle1 为正整数顺时针旋转,负整数逆时针旋转。
角度 2 angle2 否 number 0 横轴旋转角度目标值。angle1 和 angle2 都传参,旋转动作是仿射坐标旋转。仿射坐标旋转的方式是图像的纵轴旋转 angle1,横轴旋转 angle2。
持续时间 duration 否 number 0 持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 动作是否可以根据玩家点击屏幕跳过
缓冲 ease 否 EaseType EASE_TYPES.normal 缓冲效果,使动作过渡更加平滑
范例
//创建图片image1,初始无旋转
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 100, y: 200 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
});
//image1在1秒期间,顺时针旋转60度
ac.rotateTo({
name: 'image1',
angle1: 60,
duration: 1000,
});
//延迟
await ac.delay({
time: 1000,
});
//image1在1秒期间,顺时针旋转30度,旋转至相对初始位置顺时针90度的位置
ac.rotateTo({
name: 'image1',
angle1: 90,
duration: 1000,
});
9、rotateBy
命令用途
rotateBy 命令用于以锚点为中心旋转可视实体。以可视实体当前状态为起点,旋转某个角度。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
角度 1 angle1 否 number 0 纵轴旋转角度偏移值。angle1 使图片围绕锚点顺时针或逆时针旋转,angle1 为正整数顺时针旋转,负整数逆时针旋转。
角度 2 angle2 否 number 0 横轴旋转角度偏移值。angle1 和 angle2 都传参,旋转动作是仿射坐标旋转。仿射坐标旋转的方式是图像的纵轴旋转 angle1,横轴旋转 angle2。
持续时间 duration 否 number 0 持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 动作是否可以根据玩家点击屏幕跳过
缓冲 ease 否 EaseType EASE_TYPES.normal 缓冲效果,使动作过渡更加平滑
范例
//创建图片image1,初始无旋转
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 100, y: 200 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
});
//image1在1秒期间,顺时针旋转60度
ac.rotateBy({
name: 'image1',
angle1: 60,
duration: 1000,
});
//延迟
await ac.delay({
time: 1000,
});
//image1在1秒期间,顺时针旋转90度,旋转至相对初始位置顺时针150度的位置
ac.rotateBy({
name: 'image1',
angle1: 90,
duration: 1000,
});
10、changeMaskTo
命令用途
changeMaskTo 命令用于给图片添加遮罩。
命令属性
中文名 英文名 必传 值类型 默认值 说明
红色 r 否 number 0 0~255 的整数,RGB 色系中的色值 R
绿色 g 否 number 0 0~255 的整数,RGB 色系中的色值 G
蓝色 b 否 number 0 0~255 的整数,RGB 色系中的色值 B
透明度 opacity 否 number 100 遮罩的透明度,0-100 的整数
持续时间 duration 否 number 0 持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 动作是否可以根据玩家点击屏幕跳过
范例
//创建图片image1,初始无遮罩
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 100, y: 200 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
});
//image1在1秒期间,添加一个纯红色,透明度为50的遮罩
ac.changeMaskTo({
name: 'image1',
r: 255,
g: 0,
b: 0,
opacity: 50,
duration: 1000,
});
11、changeMaskBy
命令用途
changeMaskBy 命令用于改变图片遮罩。
命令属性
中文名 英文名 必传 值类型 默认值 说明
红色 r 否 number 0 0~255 的整数,RGB 色系中的色值 R 的偏移量
绿色 g 否 number 0 0~255 的整数,RGB 色系中的色值 G 的偏移量
蓝色 b 否 number 0 0~255 的整数,RGB 色系中的色值 B 的偏移量
透明度 opacity 否 number 100 遮罩的透明度,0-100 的整数
持续时间 duration 否 number 0 持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 动作是否可以根据玩家点击屏幕跳过
范例
//创建图片image1,初始无遮罩
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 100, y: 200 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
});
//image1在1秒期间,添加一个纯红色,透明度为50的遮罩
ac.changeMaskBy({
name: 'image1',
r: 255,
g: 0,
b: 0,
opacity: 50,
duration: 1000,
});
//延迟
await ac.delay({
time: 1000,
});
//image1在1秒期间,减少100个红色色值
ac.changeMaskBy({
name: 'image1',
r: -100,
g: 0,
b: 0,
opacity: 50,
duration: 1000,
});
12、fadeTo
命令用途
fadeTo 命令用于改变可视实体对象的透明度。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
透明度 opacity 否 number 100 目标透明度,0-100 的整数
持续时间 duration 否 number 0 持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 动作是否可以根据玩家点击屏幕跳过
缓冲 ease 否 EaseType EASE_TYPES.normal 缓冲效果,使动作过渡更加平滑
范例
//创建图片image1,初始透明度100%,即图片可看见
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 100, y: 200 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
});
//image1在1秒期间,透明度变为0%,即图片看不见了
ac.fadeTo({
name: 'image1',
opacity: 0,
duration: 1000,
});
13、filter
命令用途
filter 命令用于给图片和层对象添加滤镜效果,包括高斯模糊、灰度化、明度。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
类型 type 否 FliterType FILTER_TYPES.gaussianblur 滤镜效果的类型,暂时只有高斯模糊(gaussianblur)、灰度化(gray)、明度(brightness)
参数 args 是 number 空 1、对于高斯模糊效果,参数是半径值(必须是整数),单位是像素;2、对于灰度化,参数值为 0 时失效,为其他时正常;3、对于明度效果,参数表示闭区间[-100,100]中的整数,默认为 0;
持续时间 duration 否 number 0 持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 动作是否可以根据玩家点击屏幕跳过
范例
//创建图片image1,初始无滤镜
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 100, y: 200 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
});
//image1在1秒期间,加上高斯模糊滤镜,模糊半径为20像素
ac.filter({
name: 'image1',
type: ac.FILTER_TYPES.gaussianblur,
args: 20,
duration: 1000,
canskip: false,
});
14、flip
命令用途
flip 命令用于翻转可视实体,包括水平翻转和垂直翻转。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
水平翻转 horizontalFlip 否 boolean false 是否水平翻转
垂直翻转 verticalFlip 否 boolean false 是否垂直翻转
范例
//创建图片image1,初始无翻转
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '$1242952',
pos: { x: 100, y: 200 },
anchor: { x: 50, y: 50 },
opacity: 100,
scale: 100,
visible: true,
verticalFlip: false,
horizontalFlip: false,
});
//image1在瞬间水平翻转
ac.flip({
name: 'image1',
horizontalFlip: true,
verticalFlip: false,
});
15、changeIndex
命令用途
changeIndex 命令用于改变可视实体层级(index)。层级高的可视实体会覆盖在层级低的上方。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 目标控件的唯一标识
层级 index 否 number 0 目标层级
范例
//创建图片image1,初始层级为0
ac.createImage({
name: 'image1',
index: 0,
inlayer: 'window',
resId: '1242952',
pos: { x: 100, y: 200 },
});
//image1在瞬间层级变为9,即image1覆盖在mage2上面
ac.changeIndex({
name: 'image1',
index: 9,
});
16、shakeScreen
命令用途
shakescreen 命令用于使当前画布上除对话外的所有实体一起震动。这是一个全屏动效,无需指定作用对象。
命令属性
中文名 英文名 必传 值类型 默认值 说明
强度 strength 否 number 0 画面偏离原位置的距离,以像素为单位
速度 speed 否 number 1 震动速度,0~10 的整数,10 最快
角度 angle 否 number 45 0~180 的整数,参数代表坐标系一二象限的角度
持续时间 duration 否 number 0 持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 动作是否可以根据玩家点击屏幕跳过
是否循环 loop 否 boolean false 震动是否循环
范例
//画面震动效果:强度为5,速度5,角度45度,持续时间5秒,不循环
ac.shakeScreen({
strength: 5,
speed: 5,
angle: 45,
duration: 5000,
loop: false,
canskip: false,
});
17、flicker
命令用途
flicker 命令用于在画面上添加指定颜色的闪光。这是一个全屏动效,无需指定作用对象。
命令属性
中文名 英文名 必传 值类型 默认值 说明
红色 r 否 number 0 RGB 色系中的色值 R,0~255 的整数
绿色 g 否 number 0 RGB 色系中的色值 G,0~255 的整数
蓝色 b 否 number 0 RGB 色系中的色值 B,0~255 的整数
透明度 opacity 否 number 100 闪烁的透明度,0-100 的整数
持续时间 duration 否 number 0 持续时间,单位是毫秒
是否可跳过 canskip 否 boolean false 动作是否可以根据玩家点击屏幕跳过
范例
//画面闪光效果:红色闪光在1秒内出现并消失。
ac.flicker({
r: 255,
g: 0,
b: 0,
opacity: 80,
duration: 1000,
canskip: false,
});
4、音频/视频
1、playBGM
命令用途
playBGM命令用于播放音频素材。该命令适合播放背景音乐。
(1)playBGM播放的音频可以跨剧情。即剧情跳转后上个剧情的音频不会中断。
(2)playBGM播放的音频默认循环播放。
(3)多条playBGM命令启动时,后一个音频会替换前一个音频。即始终只有一个BGM在播放。
命令属性
中文名 英文名 必传 值类型 默认值 说明
音频资源 resId 是 string 空 音频资源id
播放音量 vol 否 number 100 音频播放的音量,0~100的整数
播放效果 effect 否 string 'normal' 音频播放效果,参数有'normal'(直接播放)、'fadein'(淡入)
淡入时间 duration 否 number 0 仅当effect为'fadein'有效。表示音频淡入效果的持续时间,单位是毫秒
范例
//案例1
//直接播放ID为167403的音频
ac.playBGM({
resId: '$167403',
});
//案例2
//1秒淡入播放ID为167403的音频,播放音量为80%
ac.playBGM({
resId: '$167403',
vol: 80,
effect: 'fadein',
duration: 1000,
});
2、stopBGM
命令用途
stopBGMo命令用于停止通过playBGM播放的音频素材。
命令属性
中文名 英文名 必传 值类型 默认值 说明
停止效果 effect 否 string 'normal' 音频停止效果,参数有'normal'(直接停止)、'fadeout'(淡出)
持续时间 duration 否 number 0 仅当effect为'fadeout'有效。表示音频淡出效果的持续时间,单位是毫秒
范例
//1秒淡出停止全局音乐。
ac.stopBGM({
effect: 'fadeout',
duration: 1000,
});
3、playAudio
命令用途
playAudio 命令用于播放音频素材。
(1)playAudio 播放的音频不可跨剧情。即剧情跳转后上个剧情的音频不会延续到下个剧情。
(2)多条 playAudio 命令一起执行时,遵循对象名通用规则。即对象名(name)不同时,会播放多个音频;对象名(name)相同时,后一个音频会替换前一个音频。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标识,用于操作该音频
音频资源 resId 是 string 空 音频资源 id
播放音量 vol 否 number 100 音频播放的音量,0~100 的整数
播放效果 effect 否 string 'normal' 音频播放效果,参数有'normal'(直接播放)、'fadein'(淡入)
淡入时间 duration 否 number 0 仅当 effect 为'fadein'有效。表示音频淡入效果的持续时间,单位是毫秒
是否循环 loop 否 boolean false 音频是否循环播放
范例
//1秒淡入播放ID为167403的音频,对象名为playAudio1
ac.playAudio({
name: 'playAudio1',
resId: '$167403',
vol: 80,
effect: 'fadein',
duration: 1000,
loop: false,
});
4、stopAudio
命令用途
stopAudio 命令用于停止通过 playAudio 播放的音频素材。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标识,表示要调整哪一条播放音频的音量
音量 vol 否 number 0 音频播放的的目标音量,0~100 的整数
持续时间 duration 否 number 0 音量变化效果的持续时间,单位是毫秒
范例
//1秒淡出停止对象名为playAudio1的播放音频命令。
ac.stopAudio({
name: 'playAudio1',
effect: 'fadeout',
duration: 1000,
});
5、volTo
命令用途
volTo 命令用于把正在播放的音频音量改为目标数值。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标识,表示要调整哪一条播放音频的音量
音量 vol 否 number 0 音频播放的的目标音量,0~100 的整数
持续时间 duration 否 number 0 音量变化效果的持续时间,单位是毫秒
范例
//1秒淡入播放ID为167403的音频,音量为80
ac.playAudio({
name: 'playAudio1',
resId: '$167403',
vol: 80,
});
//上一条命令开始时起延迟5秒
await ac.delay({
time: 5000,
});
//把playAudio1的音量在1秒内从80改为50
ac.volTo({
name: 'playAudio1',
vol: 50,
duration: 1000,
});
6、volBy
命令用途
volBy 命令用于把正在播放的音频音量增加或减少一定偏移量。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string 空 唯一标识,表示要调整哪一条播放音频的音量
音量 vol 否 number 0 音频播放的音量偏移量,0~100 的整数
持续时间 duration 否 number 0 音量变化效果的持续时间,单位是毫秒
范例
//1秒淡入播放ID为167403的音频,音量为80
ac.playAudio({
name: 'playAudio1',
resId: '$167403',
vol: 80,
});
//上一条命令开始时起延迟5秒
await ac.delay({
time: 5000,
});
//把playAudio1的音量在1秒内从80改为30
ac.volBy({
name: 'playAudio1',
vol: -50,
duration: 1000,
});
7、playVideo
命令用途
playVideo 命令用于播放视频素材。
(1)执行 playVideo 命令会清空画布当前所有的资源(包括图片、正在播放的音频等)。
(2)视频必须播放完毕或跳过才能结束。
命令属性
中文名 英文名 必传 值类型 默认值 说明
对象名 name 是 string | 唯一标识,用于操作该视频
视频资源 resId 是 string | 视频资源 id
音量 vol 否 number | 视频播放的音量,0~100 的整数
是否可跳过 canskip 否 boolean | 视频是否可以被鼠标点击跳过
范例
//播放ID为1355001的视频素材
await ac.playVideo({
name: 'video1',
resId: '$1355001',
vol: 80,
canskip: false,
});