我在添加THREEJS GLTFLoader时遇到问题。 发生以下错误:
在我的组件中,我首先导入三个,然后导入GLTFLoader脚本。
import * as THREE from 'three';
window['THREE'] = THREE;
import 'three/examples/js/loaders/GLTFLoader';
正如您在第2行中看到的那样,我尝试为GLTFLoader脚本设置一个全局THREE变量,但是当我在网站的控制台THREE
中键入时,它是未定义的。
答案 0 :(得分:2)
您应该在from tkinter import *
from random import choice
def change_pic():
die1 = PhotoImage(file=("dice-1.png"))
die2 = PhotoImage(file=("dice-2.png"))
die3 = PhotoImage(file=("dice-3.png"))
die4 = PhotoImage(file=("dice-4.png"))
die5 = PhotoImage(file=("dice-5.png"))
die6 = PhotoImage(file=("dice-6.png"))
faces=[die1, die2, die3, die4, die5, die6]
label.config(image=choice(faces))
label.grid(row=1, column=1)
root = Tk()
label = Label(root)
label.grid(row=1, column=1)
change_button = Button(root, text="change", command =change_pic)
change_button.grid(row=1, column=2)
root.mainloop()
中导入THREE
。
将GLFTLoader
添加到文件import * as THREE from 'three';
的顶部
编辑:对不起,我想念您正在尝试做的事情。
我认为您的问题与装载顺序有关。从屏幕快照中,您好像正在使用webpack。在运行代码之前,它将加载所有导入。因此,当导入three/examples/js/loaders/GLTFLoader.ts
时,GLFTLoader
尚未运行。
查看编译后的文件(或Chrome中的源代码),您应该看到实际正在运行的代码。
要解决您的问题,请将代码从window['THREE'] = THREE
复制到您自己的文件中,并将three/examples/js/loaders/GLTFLoader.js
添加到该文件的顶部