用户:
机敏的导弹鲨SAon查看:0 回复:3 评论:0 创建时间:2023-04-14T17:39:10
【作品展示】

【作品介绍】
玩过我的世界的应该都会玩吧wasd - 移动
空格 - 跳跃
鼠标左键 - 撸方块
鼠标右键 - 放方块
主要用的库是ursina,实现了3D和第一人称视角,还有perlin_noise(柏林噪音),这个库实现了随机地形的效果,第23和第24行中的“50”和“50”可以修改,他们决定着地图大小,不建议改的太大,可能会稍微卡顿一下,不过不要紧,我只是还原了我的世界的初步功能,大家也可以在我的基础上继续修改。哦,对了,这是我的第二个发布的作品,我以后会继续努力的!(喜欢就评论一下吧!)
【作品源代码】
from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
from perlin_noise import PerlinNoise
octaves=int(input("请输入世界种子1(1-5,也可以很大):"))
seed=int(input("请输入世界种子2:"))
class Block(Button):
def __init__(self,position=(0,0,0)):
super().__init__(parent=scene,position=position,model='cube',orgin_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':
destroy(self)
if key=='right mouse down':
block=Block(position=self.position+mouse.normal)
app=Ursina()
noise=PerlinNoise(octaves=octaves,seed=seed)
for z in range(50):
for x in range(50):
block=Block(position=(x,0,z))
block.y=floor(noise([x/24,z/24])*8)
player=FirstPersonController()
sky=Sky()
app.run()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn