在oppo的原生广告中,大部分是通过修改预设的方式来实现的,何为预设,我哪知道,我会用就行了
不会预设的话就先用laya新建一个空项目
一、选择这里
右键选择 新建>页面/场景
页面要取什么名字随意,我这里暂定为home,然后打开Scene>home.scene文件,也就是咱们刚刚新建的页面home.scene
打开了home.scene文件之后肯定是一片黑的,因为你什么元素都没添加上去,接着双击打开下面这个,Basics>UI
对了,在打开home.scene文件的时候,层级那里会出现一个Scene,这个就是home.scene文件,你可以在这里找到该文件中用到的各个元素,可以在这里修改。
打开Basics>UI后,随意找了一个Box拖动到那个Scene上
接着随意拖入了一个button和image来试试
接下来是如何制作预设了,选中我们需要拿来作为预设的元素,如上图的Box,单击选中,
Laya引擎右侧面板会出现下面这样,点红框里那个保存
名称随你定义,我先定义为btnClickCon
保存之后Scene文件夹中的prefab会出现一个btnClickCon.prefab
大概样子如下
之后就是挂载ts代码了,最简单的方式就是直接将写好的ts代码引入
示例如下:
假如我们要做的功能是点击下图里这个button之后执行函数play()
那么,首先我们得给这个预设里的按钮添加一个name属性,不然不好找到它(三张图放一起吧)
在上面的图里 我将需要触发点击事件的按钮的name定义为btnC
Ok,现在开始写需要执行的ts代码
打开编辑器,找到src文件夹,可以的话新建个目录吧,我是新建了一个test目录(不建也没事,不影响的),在test目录中我新建了一个btnClick.ts
对了,在vscode中新建ts文件的话不会自动生成模板代码的,建议是直接在laya引擎这边新建脚本
回归正题,在新建的btnClick.ts文件中写入以下代码
export default class btnClick extends Laya.Script {
public btn:Laya.Button;
// 更多参数说明请访问: https://ldc2.layabox.com/doc/?nav=zh-as-2-4-0
constructor() { super(); }
onEnable(): void {
this.btn=this.owner.getChildByName("btnC") as Laya.Button;
this.btn.on(Laya.Event.CLICK,this,()=>this.play())
}
public play(){
console.log(this.btn+"这一个是按钮");
}
onDisable(): void {
}
}
现在开始最后的操作,点击按钮之后触发ts代码
先选中home.scene文件,打开
选中button
右侧面板会出现对应属性,给这个button添加name,我写的是btnC,对应上面btnClick.ts中的对象绑定
然后,选中下图这个
右侧面板中找到下面这个“添加组件“
点击“添加组件”,选择 code>btnClick (btnClick就是你自己刚刚定义的ts文件名)
记得检查是否出现了这个,没有的话可能没操作对
ok,差不多到此就可以了,laya引擎界面按ctrl+f12导出下代码,然后点运行或者按f6就可以了