cocos界面
BgControl源码
import MsgControl from "./MsgControl";
import PaojieControl from "./PaojieControl";
const {ccclass, property} = cc._decorator;
class Message{
name: string;
content: string;
face: string;
mouth: string;
constructor(name:string,content:string,face:string,mouth:string){
this.name = name;
this.content = content;
this.face = face;
this.mouth = mouth;
}
}
@ccclass
export default class BgControl extends cc.Component {
//人物和消息的控制器
@property(PaojieControl)
paojieControl: PaojieControl =null;
@property(MsgControl)
msgControl: MsgControl = null;
//消息数组
msgs: Message[] =null;
// 当前是第几条消息
index:number = 0;
// onLoad () {}
start () {
this.msgs =[
new Message("御坂美琴","今天天气不错","paojieface_02","paojiemouth_02"),
new Message("御坂美琴","来喝点饮料","paojieface_01","paojiemouth_01"),
new Message("御坂美琴","可惜贩卖机又坏了","paojieface_02","paojiemouth_02")
];
//鼠标点击对话
this.node.on(cc.Node.EventType.MOUSE_DOWN,(event)=>{
if(this.index <= this.msgs.length){
//如果对话面板没显示,则显示
if(this.msgControl.node.active == false){
this.msgControl.node.active = true;
}
//读消息
let message = this.msgs[this.index++];
//显示消息
this.paojieControl.setImage(message.face,message.mouth);
this.msgControl.setMessage(message.name,message.content);
}
});
}
// update (dt) {}
}
PaojieControl源码
const {ccclass, property} = cc._decorator;
@ccclass
export default class PaojieControl extends cc.Component {
// onLoad () {}
start () {
}
//设置表情
setImage(face:string,mouth:string){
//加载素材
//脸部
cc.resources.load(face,cc.SpriteFrame,(err,sp)=>{
this.node.children[0].getComponent(cc.Sprite).spriteFrame = sp;
});
//嘴部
cc.resources.load(mouth,cc.SpriteFrame,(err,sp)=>{
this.node.children[1].getComponent(cc.Sprite).spriteFrame = sp;
});
}
// update (dt) {}
}
MsgControl源码
const {ccclass, property} = cc._decorator;
@ccclass
export default class MsgControl extends cc.Component {
// onLoad () {}
start () {
}
//加载消息
setMessage(name: string, content: string){
this.node.children[0].getComponent(cc.Label).string = name;
this.node.children[1].getComponent(cc.Label).string = content;
}
}
效果图
开始界面
点击
点击
点击
总结
通过新建一个类来存需要的文本和数据,等需要的时候再调用对应的数据