vivominigame / issues

vivo小游戏问题反馈和统一回复入口
13 stars 9 forks source link

能否支持 three.js 这个库? #276

Open x1911 opened 3 months ago

x1911 commented 3 months ago

需求类型

引擎

需求描述

能让vivo小程序引擎支持 three.js 这个库吗?这样3D游戏好直接移植过来

需求场景

web端最出名的开源 3D 渲染引擎,方便h5游戏移植

参考

http://www.threejs.org/

联系方式和应用名

微信:x7777x c3.dogfightx.com 游戏开发者

yuebai008 commented 3 months ago

只要能导出h5小游戏,根据h5的适配规则就可以转成vivo小游戏 https://minigame.vivo.com.cn/documents/#/lesson/base/engine?id=h5%e6%b8%b8%e6%88%8f%e9%80%82%e9%85%8d

x1911 commented 3 months ago

只要能导出h5小游戏,根据h5的适配规则就可以转成vivo小游戏 https://minigame.vivo.com.cn/documents/#/lesson/base/engine?id=h5%e6%b8%b8%e6%88%8f%e9%80%82%e9%85%8d

// @ts-check

import * as window from './js/qgame-adapter/src/window'
import * as document from './js/qgame-adapter/src/document'

import Main from './js/main'
globalThis.document = document

new Main()

按照最新客户端创建项目后,拷贝qgame-adapter整个目录到文件夹, 这样 require 和 import 混用可以吗?

对于H5方式,有没有个 完整的能运行的案例?

x1911 commented 3 months ago

main.js中内容如下

// @ts-check
export default class Main {
    constructor(){
        ('start main =======================================')
        this.loadingDiv = this._CreateStartScreen()

        // this.Start()
    }

    // async Start(){
    //     await import('./js/Main2')
    //         console.log('start game =======================================')

    // }

    _CreateStartScreen(){
        const div = document.createElement('div')
        div.innerText = '读取中...'
        div.style.cssText = `
        width: 100vw;
        height: 100vh;
        background: #000;
        color: #eee;
        font-size: 80px;
        `
        document.body.appendChild(div)
        return div
    }
}

只显示一个div都会显示超时是为什么? bd35f56f69fe616c0d9775f902941ffb

yuebai008 commented 3 months ago

可以混用的 目前好像没有threeJs的demo 之前好像是有开发者接入的情况 require和import可以混用的 webpack会统一进行转换 你们可以先打包试一下 如果遇到文件 可以加我qq细聊下 qq:804859232

看下chrome调试的日志报什么错误

x1911 commented 3 months ago

804859232

目前没有真机,是通过云真机调试的,每次调试都要等15分钟,云调试结果又都是这个3秒错,太难了...

加不了

image
x1911 commented 3 months ago

云真机提示 “下载地址错误” 是怎么回事? 已经是最简单的包了,实在没看到哪里出错

入口文件 game.js 内容如下

// @ts-check

import * as document from './js/qgame-adapter/src/document'

console.log('启动.............')

const div = document.createElement('div')
div.innerText = '读取中...'
div.style.cssText = `
width: 100vw;
height: 100vh;
background: #000;
color: #eee;
font-size: 80px;
`
document.body.appendChild(div)

只创建一个div的情况都无法运行,还是3秒错误

image
x1911 commented 3 months ago

选择云机型X100,建立好新项目,console.log 打印一下都是3s错误,求解

yuebai008 commented 3 months ago

云真机提示 “下载地址错误” 是怎么回事? 已经是最简单的包了,实在没看到哪里出错

入口文件 game.js 内容如下

// @ts-check

import * as document from './js/qgame-adapter/src/document'

console.log('启动.............')

const div = document.createElement('div')
div.innerText = '读取中...'
div.style.cssText = `
width: 100vw;
height: 100vh;
background: #000;
color: #eee;
font-size: 80px;
`
document.body.appendChild(div)

只创建一个div的情况都无法运行,还是3秒错误 image

这个报错是因为你没有渲染任何画面 性能测试用的 跟本身运行不相关 你把工程发一下

x1911 commented 3 months ago

console.log('启动.............') 这句话都不打印啊 [Uploading src.zip…]()

export default class Main {
    constructor(){
        console.log("start-------------------------")
        // 这句不打印!
    }
}
yuebai008 commented 3 months ago

// @ts-check

import * as document from './js/qgame-adapter/src/document'

console.log('启动.............')

const div = document.createElement('div') div.innerText = '读取中...' div.style.cssText = width: 100vw; height: 100vh; background: #000; color: #eee; font-size: 80px; document.body.appendChild(div)

小游戏都是用webgl来渲染的 你这个渲染不了是正常的

x1911 commented 3 months ago

src.zip 这个是带 qgame-adapter 的版本,也是连console.log 都无法打印

// @ts-check

import * as document from './js/qgame-adapter/src/document'

console.log('启动.............')

const div = document.createElement('div') div.innerText = '读取中...' div.style.cssText = width: 100vw; height: 100vh; background: #000; color: #eee; font-size: 80px; document.body.appendChild(div)

小游戏都是用webgl来渲染的 你这个渲染不了是正常的

看官网提供的 qgame-adapter 这个库中支持了这个函数,也有 HTMLElement.js 文件,现在这个库不能用了? https://minigame.vivo.com.cn/documents/#/download/adapter