因为目前的egret很多功能还没有完善,有时候我们不得不自己写一些js脚本去实现,但js脚本写完了,该如何去使用呢? 这里我们讲解一下ts调用js脚本的方法。
这里我以自己遇到的问题,即在项目中播放视频为例。
一、首先在/launcher/index.html和/launcher/release.html两个脚本的body里面添加视频内容代码
1 2 3 |
<div style="position:absolute;z-index:2;width:100%;margin:0 auto;top:80px" id="videoDiv"> <video id="video" width=80% loop="loop" x-webkit-airplay="true" webkit-playsinline="true"></video> </div> |
有两点需要注意:
- position要使用absolute绝对位置布局(目的是让视频的位置不影响到gameDiv的位置)
2. z-index要大于1(目的是让视频显示在gameDiv上面)
二、添加完视频内容代码后,我们来创建js文件,这里我起的js文件名称videoManager.js,文件放在/launcher目录下。
1 2 3 4 5 6 7 8 9 10 11 12 |
var v = document.getElementById("video"); function changeVideoState () { if (v.paused) { v.play(); } else { v.pause; } } function changeVideoPath (path) { v.src = path; } |
这里我用到两个js方法,分别是 用来控制视频播放、改变视频路径
三、添加完videoManager.js脚本后,需要在/launcher/index.html和/launcher/release.html两个脚本的body外面(即</body>下面)添加调用该js脚本代码
1 |
<script language="JAVASCRIPT" src="/launcher/videoManager.js"> </script> |
四、写到这里,我们已经可以使用自己写的js方法对视频进行控制了。下面的内容就是ts调用js的通用方法了,如果js脚本已经写好并且添加进去了,就可以直接进行下面步骤
五、打开/libs/core/core.d.ts脚本,在该脚本最上面,添加刚刚在js脚本里写的方法的声明(注意声明的格式,以及参数)
1 2 |
declare function changeVideoState(): void; declare function changeVideoPath(_path:string): void; |
六、至此,就可以在ts脚本里面去直接使用这两个方法了。其实最关键的就只有在core.d.ts脚本添加这一步。希望本教程对你有用~~
- 本文固定链接: http://www.u3d8.com/?p=502
- 转载请注明: 网虫虫 在 u3d8.com 发表过