LayaBox---TypeScript---首次接触遇到的问题
目录
1.拖拽图片到层级面板,F6执行,在画布中不显示
2.脚本中定义了公共变量,在面板中不显示
3:选中物体,调整collider的x为负数时,运行时,物体消失。
4:获取物体坐标
问题5:通过物体获取该物体上挂载的脚本
问题6:暴露在属性面板的变量 在面板赋值后,代码内调用显示为null 或 undefined
问题7.注意就算在不同的脚本里也不能使用相同名字的变量
问题8:如上,获取脚本挂载物体下的子物体没有问题,获取其它物体就取不到。
问题9:时间轴---按钮缩放动画点击不触发
LayaAir脚本参数说明
1.拖拽图片到层级面板,F6执行,在画布中不显示
尝试了几次发现 不显示的图片与显示的图片区别就是。 不显示的图片没有设置为‘不打包’。尝试将图片改成不打包,结果显示正常。
2.脚本中定义了公共变量,在面板中不显示
/** @prop {name:intType, tips:"整数类型示例", type:Int, default:1000}*/public intType: number = 1000;/** @prop {name:numType, tips:"数字类型示例", type:Number, default:1000}*/public numType: number = 1000;/** @prop {name:strType, tips:"字符串类型示例", type:String, default:"hello laya"}*/public strType: string = "hello laya";/** @prop {name:boolType, tips:"布尔类型示例", type:Bool, default:true}*/public boolType: boolean = true;/** @prop {name:shoe,tips:"物体",type:Node,default:null}*/public shoe = null; // 更多参数说明请访问: https://ldc2.layabox.com/doc/?nav=zh-as-2-4-0
反复研究了许多遍,最终发现问题出在layaAir IDE 没有自动刷新机制,需要手动选中非该脚本挂载的物体,然后再回来,才能刷新出新定义的变量属性.
就很栓Q,差点要改写博客为: LayaBox从安装到卸载了
3:选中物体,调整collider的x为负数时,运行时,物体消失。
需要在层级面板选中该物体下的collider组件,而不要选中该物体 然后去属性面板调collider的位置。
4:获取物体坐标
Node类型的物体没有坐标属性,需要手动转为Laya.Sprite 或 3d的 Laya.Sprite3D
private own:Laya.Sprite = null;this.own = this.owner as Laya.Sprite;console.log(this.own.y);
问题5:通过物体获取该物体上挂载的脚本
脚本挂载到最上层的Scene物体上,就获取不到物体。也就无从获取物体上的脚本了
解决办法:不要把脚本挂到场景物体上,可以选择其它子物体,然后去获取就可以了。
/** @prop {name:score,tips:"物体",type:Node,default:null} */score = null;private scoreScript = null;onAwake()
{this.scoreScript = this.score.getComponent(ScorePanel);
}
问题6:暴露在属性面板的变量 在面板赋值后,代码内调用显示为null 或 undefined
研究半天没找到原因和解决办法,最后更换为代码获取
private txt_timer:Laya.Text =null;
private txt_myScore:Laya.Text =null;
private txt_aiScore:Laya.Text =null;onAwake()
{this.txt_myScore = this.owner.getChildByName("txt_myScore") as Laya.Text;this.txt_aiScore = this.owner.getChildByName("txt_aiScore") as Laya.Text; this.txt_timer = this.owner.getChildByName("txt_timer") as Laya.Text;
}
问题7.注意就算在不同的脚本里也不能使用相同名字的变量
问题8:如上,获取脚本挂载物体下的子物体没有问题,获取其它物体就取不到。
this.time_down = Laya.stage.getChildByName("txt_timeDown");
直接在layaBOX的层级面板添加的物体。好像不会添加到stage里。所以调试结果stage下的child数量为0. 最后更换了获取方式为:
//获取同级物体
let go = this.owner.parent.getChildByName("objName")
问题9:时间轴---按钮缩放动画点击不触发
选中animation动画物体,将属性面板里的mouseThrough设置为true 即可
问题10:动态创建预制体到场景中,发生层级错乱
//直接添加预制体到stage里,可能引起层级错乱
Laya.stage.addChild(car); //应做出如下修改,将预制体添加到Stage下的scene里
Laya.stage.getChildAt(0).getChildAt(0).addChild(car);
⚠️注意:如上2种方法 在使用中都遇到了 错误提示,怀疑laya引擎的bug,暂未找到解决办法
11.字体加载--使用自己导入的字体方式
private txt_score;onAwake(){this.txt_score = this.owner.getChildByName("txt_score");Laya.loader.load("hemi head bd it.ttf",Laya.Handler.create(this,(font)=>{this.txt_score.font = font.fontName;}),null,Laya.Loader.TTF);}
⚠️:启动游戏后,字体并没有被应用上。有知道解决办法的大神欢迎评论
12.
LayaBox---TypeScript---首次接触遇到的问题相关推荐
- 首次接触高通遇到的细节小问题
删除一块TP后编译不生效 由于之前一直做的是MTK平台,很多思维有点定向,突然接触高通平台发现还是有比较大的不同,很多文件路径变化了,code的流程写法变化也不小(技术有限,个人的看法). 下面就来看 ...
- 首次接触CefSharp
无疑是我最拿手的开发工作.可是作为一个想成为全能骑士的程序员,当然要能满足各种开发需求. 但是界面这种东西不让我用前端来做心里会很憋屈的.所以在各种需求面前我都会找是否能与HTML混合开发. 我使用过 ...
- RasberryPi快速启动(适合首次接触树莓派学习者)
你需要做以下的准备来启动你的Raspberry Pi : 连接线图例: 制作Raspberry Pi的SD卡 SD卡将包含Raspberry Pi的操作系统(操作系统是一种使Raspberry Pi工 ...
- 我的bolg,我的收获(MVC首次接触)
一:VO:定义变量和getter和getter方法. 二:DBC:DateBaseConnection 三:接口:记住接口首字母用I开头.并且查询时用FindXxx等等区别 四:Impl实现类: 五: ...
- 首次接触大数据及其见解
1..试述大数据对思维方式的重要影响. 在不断涌现的新情况里,允许不精确性的出现已经成为一个新的亮点,而非缺点.因为放松了容错的标准,人们掌握的数据也多了起来,还可以利用这些数据做更多新的事情.这样就 ...
- 【首次接触Linux,大为震撼】
文章目录 目录 前言 1.最初的unix 2.开源文化的初动 - 自由软件之父 - 理查德·斯托曼 3.大神 - Linux之父 - 林纳斯·本纳第克特·托瓦兹 4.开源协议 <1>GPL ...
- [微信小程序基础]Java Script从入门到放弃之首次接触Java Script
文章目录 前言 一.JS入门学习之路 二.第一章: 做好准备 1.如何插入JS程序 2.如何引用外部JS文件 3.认识语句和符号 4.注释很重要 5.什么是变量 6.判断语句 7.什么是函数 三.第二 ...
- TIOBE 7 月编程语言榜:TypeScript 进入前 50 名
开发四年只会写业务代码,分布式高并发都不会还做程序员? TIOBE 7 月编程语言指数排行榜已经公布了,本月主角还是 TypeScript. 先看一下前 20 名: 前几名地位依旧稳固,其中 C ...
- 官方首次披露,TDSQL十年自主可控之路(附PDF)
3月12日,在北京,腾讯云发布了全新升级的金融业务支撑平台,平台集中整合腾讯云在云计算架构.分布式数据库.大数据以及人工智能等方面的优势技术能力,着力解决金融机构数字化转型中关键技术自主可控问题,助力 ...
- GDIplus的初次接触--加载并显示常用格式图片
在没有接触Gdiplus之前,在vc中绘制图片,通常加载一张位图,然后进行贴图.对于现在多种多样的图片格式,之前的GDI并不支持(应该是这样的,呵呵).而使用Gdiplus则可以选择多种图片格式,比如 ...
最新文章
- 初识Tcl(八):Tcl 列表
- 【oracle】oracle jdbc驱动与c3p0的一个兼容问题
- Java基础 Day04(个人复习整理)
- php 判斷數據庫表是否存在,phpl判斷mysq數據庫中的某個數據表是否存在的方法總結...
- idea maven dependencies 总是报红
- 十分钟教会你原生JS压缩图片,极其精简版
- 数据库 数据库编程二
- Dubbo(九) dubbo的配置文件加载顺序优先级
- poj 2922 Honeymoon Hike
- js实现css、addClass、removeClass和toggleClass
- Matlab中fspecial的用法
- 打印机显示服务器脱机是什么原因,打印机显示“脱机”的原因和解决办法
- 回归分析中,证明:总离差平方和=回归平方和+误差平方和。
- 阶乘 java_Java 实例 – 阶乘
- 从步履蹒跚到举重若轻,阿里基础架构如何扛住全球最猛的流量洪峰?
- 只有在喝醉的时候,我才会喜欢自己
- 大数据可视化技术与应用作业一的经验总结
- Entering emergency mode. Exit the shell to continue.
- 微信支付-超详细java开发-小程序对接
- 实现轮播模拟点击事件