猫史档案馆


我的世界框架

用户:zym111zym111查看:0 回复:1 评论:0 创建时间:2024-08-24T15:04:23


from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController

class Block(Button):
    def __init__(self,position):
        super().__init__(
            parent = scene,
            position = position,
            model = 'cube',
            orgin_y = 0.5,
            textture = 'whing_cube',
            color = color.color(0,0,random.uniform(0.9,1)),
            highlight_color = color.green
        )
    def input (self,key):
        if self.hovered:
            if key =='left mouse down':
                block = Block(position=self.position+mouse.normal)
            if key =='right mouse down':
                destroy(self)

app = Ursina()

for z in range(0, 20, 1):
    for x in range(0, 20, 1):
        block = Block(position=(x,0,z))

player = FirstPersonController()
app.run()


回复

上一页1 页 / 共 1下一页
code猫的code猫的

有几个地方可以进行改进和修复。主要的问题是textture的拼写错误,应该是texture。此外,为了使代码更清晰和易于维护,可以进行一些小的组织和格式调整。以下是改进后的代码:

from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
import random

class Block(Button):
    def __init__(self, position):
        super().__init__(
            parent=scene,
            position=position,
            model='cube',
            origin_y=0.5,  # 修正拼写错误
            texture='white_cube',  # 修正拼写错误
            color=color.color(0, 0, random.uniform(0.9, 1)),
            highlight_color=color.green
        )

    def input(self, key):
        if self.hovered:
            if key == 'left mouse down':
                # 创建一个新的方块在当前方块的前面
                Block(position=self.position + mouse.normal)
            elif key == 'right mouse down':
                # 销毁当前方块
                destroy(self)

app = Ursina()

# 创建一个20x20的方块网格
for z in range(0, 20):
    for x in range(0, 20):
        Block(position=(x, 0, z))

# 创建第一人称控制器
player = FirstPersonController()

# 运行应用程序
app.run()
改进之处:
  1. 拼写修正:将textture更正为texture
  2. 代码格式化:整理了代码格式,使其更加整洁。
  3. 注释:添加了一些注释,帮助理解代码的各个部分。
  4. 逻辑清晰:在创建新的方块时,注释中说明其位置是相对于当前方块的前面。

这个改进后的代码应该可以在 Ursina 引擎中正常运行,同时更易于理解和维护。

点赞1


评论