• 关于uni app使用renderjs下 IOS 真机获取路径的问题


    做的项目使用uni引用three.js做的3D渲染图。引用字体文件时H5跟安卓都是没有,就是IOS加载不了。后来uni论坛查到。

    打包时添加释放模式,在manifest.json里面添加“runmode”:"liberate";

     在引用字体的更改更改使用plus.io.convertLocalFileSystemURL把路径转换

      

        function getfile(src){
                        // #ifdef APP-PLUS
                        let url = plus.io.convertLocalFileSystemURL( src )
                        return new Promise((resolve,reject)=>{
                            plus.io.resolveLocalFileSystemURL(url, entry => {
                                var reader = null;
                                entry.file( file => {
                                    reader = new plus.io.FileReader();
                                    reader.onloadend =  ( read )=> {
                                        resolve(read.target.result)
                                    };
                                    reader.readAsDataURL( file );
                                }, function ( error ) {
                                    alert( error.message );
                                } );
                            },err=>{
                                resolve(src)
                            })
                        })
                        // #endif
                        // #ifndef APP-PLUS
                        return new Promise((resolve,reject)=>{
                            resolve(src)
                        })
                        // #endif
                    }

    引用的字体更改为

    let loader = new THREE.FontLoader();
    let fontsrc = "./static/fonts/gentilis_regular.typeface.json"; loader.load(await getfile(fontsrc), (font) => {})

    这样就可以了

  • 相关阅读:
    数据结构实验之栈四:括号匹配
    数据结构实验之栈三:后缀式求值
    8月7日学习
    8月6日学习
    8月5日学习
    8月4日学习
    周总结
    8月3日学习
    8月2日学习
    8月1日学习
  • 原文地址:https://www.cnblogs.com/huzhuhua/p/16281255.html
Copyright © 2020-2023  润新知