diff --git a/Demo/Ranking/Assets/Script/Ranking.cs b/Demo/Ranking/Assets/Script/Ranking.cs index ddb455b3d17df9133dc419b2eb39cc84e4e4f3b6..3ce8b296a4bc53f75b21e51beebe8928ed3d56ce 100644 --- a/Demo/Ranking/Assets/Script/Ranking.cs +++ b/Demo/Ranking/Assets/Script/Ranking.cs @@ -25,7 +25,7 @@ public class Ranking : MonoBehaviour ShowButton.onClick.AddListener(()=> { RankingBox.SetActive(true); // 如果父元素占满整个窗口的话,pivot 设置为(0,0),rotation设置为180,则左上角就是离屏幕的距离 - // 注意这里传x,y,width,height是为了点击区域能正确点击,x,y 是距离屏幕左上角的距离,宽度传 (int)RankBody.rectTransform.rect.width是在canvas的UI Scale Mode为 Constant Pixel Size的情况下设置的。如果是Scale With Screen Size则要这要做一下换算,比如canavs宽度为750,rawImage设置为690 则应该传Screen.width*(690/750)。高度的同理。 + // 注意这里传x,y,width,height是为了点击区域能正确点击,x,y 是距离屏幕左上角的距离,宽度传 (int)RankBody.rectTransform.rect.width是在canvas的UI Scale Mode为 Constant Pixel Size的情况下设置的。如果是Scale With Screen Size,且设置为以宽度作为缩放,则要这要做一下换算,比如canavs宽度为750,rawImage设置为690 则应该传Screen.width*(690/750)。高度为Screen.height*(690/750)。 var p = RankBody.transform.position; WX.ShowOpenData(RankBody.texture, (int)p.x, Screen.height-(int)p.y, (int)RankBody.rectTransform.rect.width, (int)RankBody.rectTransform.rect.height); }); diff --git a/Design/AudioOptimization.md b/Design/AudioOptimization.md index c8c46f4c9cde3bd5b7058c3d8ab4902173c4a2b9..2d6e128f0d88031755e41bb72c40e48b77aa719d 100644 --- a/Design/AudioOptimization.md +++ b/Design/AudioOptimization.md @@ -1,7 +1,8 @@ # 音频优化 由于导出成WEBGL的游戏,音频处理上存在一定的性能损耗,建议直接调用SDK中的音频API直接控制播放,能达到不错效果。 -### API使用 -代码如下,可参考[微信开发者文档](https://developers.weixin.qq.com/minigame/dev/api/media/audio/InnerAudioContext.html),其中src为音频地址,可填本地路径如 Assets/xx.wav,运行时会自动和配置的音频地址前缀做拼接得到最终线上地址。 +## API使用 +### 长音频的使用 +代码如下,可参考[微信开发者文档](https://developers.weixin.qq.com/minigame/dev/api/media/audio/InnerAudioContext.html),其中src为音频地址,可填本地路径如 Assets/xx.wav,运行时会自动和配置的音频地址前缀做拼接得到最终线上地址。注意长音频使用时,音频对象是不还被缓存的,需要直接缓存音频对象(就是WX.CreateInnerAudioContext的对象需要自己缓存),不然每次都会重新加载。 * 使用方法一: 为了减少用户等待时间和避免音频延迟, @@ -51,11 +52,21 @@ }); ``` `注意` WX.CreateInnerAudioContext 返回的音频对象是可以复用的,就是可以多次调用Play方法播放,但是如果需要多个音频同时播放就要创建多个音频对象了。 -### 导出设置 -勾选使用微信音频API,并填上"Assets目录对应CDN地址",比如填写的地址为https://wx.qq.com/data/Assets/,而API的src地址为 Audio/Chill_1.wav,则最终会请求https://wx.qq.com/data/Assets/Audio/Chill_1.wav + +### 短音频的使用 +类似于Unity开发者喜欢更改AudioClip的方式来播放短音频,这里可以使用WX.ShortAudioPlayer来播放音频。音频对象会自动被缓存下来。便于后续播放`。可以参考如下代码: +``` +// 这里是播放前预先加载Assets/music目录下的两个音频,来避免后续播放的音频播放延迟 +WX.ShortAudioPlayer.PreLoadAudio(new string[] { "music/LowCrash.wav", "music/Brake2.wav" }); + +// 在需要播放的适合调用,不要暂停其他短音频,这里会自动停掉其他短音频,只播放这个端音频 +WX.ShortAudioPlayer.StopOthersAndPlay("music/Brake2.wav", 1.0f,false); +``` +## 导出设置 +勾选使用微信音频API,并填上"Assets目录对应CDN地址",比如填写的地址为https://wx.qq.com/data/Assets/ ,而API的src地址为 Audio/Chill_1.wav,则最终会请求 https://wx.qq.com/data/Assets/Audio/Chill_1.wav -### 将音频文件上传CDN +## 将音频文件上传CDN 游戏内的音频会被导出到导出目录的Assets文件夹下,需要将其上传至您的CDN,保证用户能访问到 -![avatar](../image/assets2.png) \ No newline at end of file +![avatar](../image/assets2.png) diff --git a/Design/CompressedTexture.md b/Design/CompressedTexture.md index 75947944b56b6d888b43fc797947b9ac21f2b5dd..e37fc49fca724b9fe906031d72e3f2b609c2b7e3 100644 --- a/Design/CompressedTexture.md +++ b/Design/CompressedTexture.md @@ -25,7 +25,10 @@ 这里替换纹理后在导出目录会生成一个Assets目录,需要将该目录放到CDN的对应目录, 其对应的是你填写的"Assets目录对应CDN地址" ,比如你填写的地址为 https://wx.qq.com/data/Assets/ ,那么小游戏需要展示图片的时候就会自动去该目录下载对应图片。 - + + +导出后的纹理所在目录: +![avatar](../image/assets2.png) ### 4、导出游戏 点击"微信小游戏"->"转换小游戏" 打开转换小游戏弹窗,点击左下角的"导出WEBGL并转化为小游戏"按钮等待导出游戏即可 diff --git a/Design/OpenData.md b/Design/OpenData.md index 101f268eb5bf1e49b084c0e0598560e7cc3e0365..952c4fe6be292812c3b1e63bf71311b80c069c03 100644 --- a/Design/OpenData.md +++ b/Design/OpenData.md @@ -37,4 +37,7 @@ wx.onMessage(data => { 在转化后的小游戏中的open-data/index.js 文件中写你对应的业务逻辑即可,如下图所示。 这里的JS开发我们提供了一个简单易上手的 [绘制引擎](https://wechat-miniprogram.github.io/minigame-canvas-engine/),可以参看对应使用文档来绘制页面。而开放域的业务逻辑开发与普通小游戏的开放数据的开发没有差异,可以查看[官网](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/open-data.html)做进一步了解。 - ![avatar](../image/o3.png) \ No newline at end of file + ![avatar](../image/o3.png) + +### 5、示例DEMO +可以参考[Demo/Ranking/Assets](../Demo/Ranking/Assets)下面的Unity工程,对应导出的小游戏在[Demo/Ranking/MiniGame/minigame](../Demo/Ranking/MiniGame/minigame)下。