GameDialog 游戏对话框

特性:
-- 目前一旦加载对话框样式后不再释放而是一直缓存着
-- 对话与选项均通过此类实现
-- 可通过监听事件等方式编写对话框的插件,如制作AVG游戏的快进、跳过、历史对话记录等

维护人员:黑暗之神KDS
创建时间:2019-01-09

继承 →Sprite
子类

Public 属性

属性
EVENT_DIALOG_START : string;
静态事件:当对话框出现时 回调参数:是否选项、文本内容、选项内容(若是选项的话)、名称、头像路径
EVENT_AFTER_DIALOG_START : string;
静态事件:当对话框出现后
EVENT_DIALOG_END : string;
静态事件:当对话文本播放结束时
EVENT_DIALOG_CLOSE : string;
静态事件:当对话框关闭时
EVENT_DIALOG_WORD_PLAY : string;
静态事件:当文本框文本播放时 回调参数:当前文字
EVENT_DIALOG_WORD_PLAY_COMPLETE : string;
静态事件:当文本播放完成时 isAuto 表示是否来自自动播放
EVENT_TS_PLAY_COMPLETE : string;
静态事件:当语音播放完毕时派发(如果该次对话的语音未播放完成时,玩家手动跳过了该次对话的话则不会抛出该事件)
EVENT_DIALOG_TEXT_WAIT_TIME : string;
静态事件:当播放文本时遇到等待时间(帧数)时抛出事件 frameCount=等待的帧数
EVENT_WAIT_PALYER_OPERATION : string;
静态事件:当播放文本时遇到等待玩家操作时以及玩家操作完毕后抛出该事件 state=0表示等待玩家操作 state=1表示玩家操作完毕
EVENT_BEFORE_RECOVERY_DIALOG : string;
静态事件:恢复存档时的对话前调用
dialogTextShowAllEnabled : boolean;
静态允许用户操快速显示当前文本(空格键/鼠标左键点击)默认=false
fromCommandID : string;
静态当前文本对应的指令唯一标识
isInDialog : boolean;
[静态]只读是否显示对话中
isPlaying : boolean;
[静态]只读是否播放中
lastDialog : GameDialog;
静态最近使用的对话框
optionList : UIList;
只读选项列表
optionUIs : UIButton;
只读获取当前的选项按钮(需要选项存在且正处于显示时)
optionTexts : UIString;
只读选项文本
dialogHeadBox : UIBitmap
dialogBox : UIBitmap;
只读对话框背景图
nameText : UIString;
只读名字文本
playTextLabels : UIString;
只读文本文字组:根据不同的颜色、换行等情况切分的多段文本(拥有材质的话则逐字拆分)默认值=
skipAni : GCAnimation;
只读跳过标志
id : number;
只读唯一ID

Public 方法

方法
showall(): void
静态功能:立即显示全文本,当处于文本播放时则会立即显示至全文本
stop(): void
静态停止对话,停止后其所在的触发线也处于停止中
skip(): boolean
静态功能:立刻跳过当前文本
skipWaitPlayerOperation(): boolean
静态功能:立刻跳过「等待玩家操作」

详情

EVENT_DIALOG_START

EVENT_DIALOG_START : string;

静态事件:当对话框出现时 回调参数:是否选项、文本内容、选项内容(若是选项的话)、名称、头像路径

// isOption = 是否选项
// content = 文本内容
// options = 选项内容(若是选项的话)
// name = 名称
// head = 头像 图片路径string/立绘ID:number/动画ID:number
// expression = 表情ID(如有,立绘模式下可选择表情)
// audioURL = 语音字符串(如有) 格式:音频地址,音量0-1,音调0-2
// speed = 文字播放速度 0-5 极慢-立即显示
EventUtils.addEventListenerFunction(GameDialog,GameDialog.EVENT_DIALOG_START,(isOption:boolean,content:string,options:string,name:string,head:string|number,expression:number,audioURL:string,speed:number)=> {
  // to do
},this);

EVENT_AFTER_DIALOG_START

EVENT_AFTER_DIALOG_START : string;

静态事件:当对话框出现后
onAfterDialogStart(isOption:boolean);

EVENT_DIALOG_END

EVENT_DIALOG_END : string;

静态事件:当对话文本播放结束时

// gameDialog = 当前的对话框显示对象 fromAutoPlaySkipSign:boolean = 是否来自文本播放时出现的跳过本次对话
EventUtils.addEventListenerFunction(GameDialog,GameDialog.EVENT_DIALOG_END,(gameDialog:GameDialog,fromAutoPlaySkipSign:boolean)=> {
  // to do
},this);

EVENT_DIALOG_CLOSE

EVENT_DIALOG_CLOSE : string;

静态事件:当对话框关闭时

// gameDialog = 当前的对话框显示对象
EventUtils.addEventListenerFunction(GameDialog,GameDialog.EVENT_DIALOG_CLOSE,(gameDialog:GameDialog)=> {
  // to do
},this);

EVENT_DIALOG_WORD_PLAY

EVENT_DIALOG_WORD_PLAY : string;

静态事件:当文本框文本播放时 回调参数:当前文字

// word = 当前的文字
EventUtils.addEventListenerFunction(GameDialog,GameDialog.EVENT_DIALOG_WORD_PLAY,(word:string)=> {
  // to do
},this);

EVENT_DIALOG_WORD_PLAY_COMPLETE

EVENT_DIALOG_WORD_PLAY_COMPLETE : string;

静态事件:当文本播放完成时 isAuto 表示是否来自自动播放

EventUtils.addEventListenerFunction(GameDialog,GameDialog.EVENT_DIALOG_WORD_PLAY_COMPLETE,Callback.New(isAuto:boolean)=> {
  // to do
},this);

EVENT_TS_PLAY_COMPLETE

EVENT_TS_PLAY_COMPLETE : string;

静态事件:当语音播放完毕时派发(如果该次对话的语音未播放完成时,玩家手动跳过了该次对话的话则不会抛出该事件)

// success = 是否播放成功
// audioURL = 语音字符串(如有) 格式:音频地址,音量0-1,音调0-2
EventUtils.addEventListenerFunction(GameDialog,GameDialog.EVENT_TS_PLAY_COMPLETE,(success:boolean,audioURL:string)=> {
  // to do
},this);

EVENT_DIALOG_TEXT_WAIT_TIME

EVENT_DIALOG_TEXT_WAIT_TIME : string;

静态事件:当播放文本时遇到等待时间(帧数)时抛出事件 frameCount=等待的帧数
EventUtils.addEventListenerFunction(GameDialog,GameDialog.EVENT_DIALOG_TEXT_WAIT_TIME,(frameCount:number)=> {
  // to do
},this);

EVENT_WAIT_PALYER_OPERATION

EVENT_WAIT_PALYER_OPERATION : string;

静态事件:当播放文本时遇到等待玩家操作时以及玩家操作完毕后抛出该事件 state=0表示等待玩家操作 state=1表示玩家操作完毕
EventUtils.addEventListenerFunction(GameDialog,GameDialog.EVENT_WAIT_PALYER_OPERATION,(state:number)=> {
  // to do
},this);

EVENT_BEFORE_RECOVERY_DIALOG

EVENT_BEFORE_RECOVERY_DIALOG : string;

静态事件:恢复存档时的对话前调用
EventUtils.addEventListenerFunction(GameDialog,GameDialog.EVENT_BEFORE_RECOVERY_DIALOG,(success:boolean,audioURL:string)=> {
  // to do
},this);

showall

showall(): void :

静态功能:立即显示全文本,当处于文本播放时则会立即显示至全文本

stop

stop(): void :

静态停止对话,停止后其所在的触发线也处于停止中

skip

skip(): boolean :

静态功能:立刻跳过当前文本

返回

boolean 成功跳过

skipWaitPlayerOperation

skipWaitPlayerOperation(): boolean :

静态功能:立刻跳过「等待玩家操作」
当监听到EVENT_WAIT_PALYER_OPERATION事件时可通过此功能跳过等待

返回

boolean 成功跳过


Copyright © 2021 - 2025