猫史档案馆


【Python作品分享】狂妄反击

用户:保守的星能猫hPxX保守的星能猫hPxX查看:1 回复:6 评论:1 创建时间:2022-01-17T18:52:52


【作品展示】

center_image

 

【作品介绍】

超自由的3D沙盒小游戏

 

【作品源代码】

from ursina import *  # 开启3D引擎
from ursina.prefabs.first_person_controller import FirstPersonController  # 开启3D引擎
import time
l = 0
x = 0
y = 0
z = 0
HP = 200
wasps=[]
nn=1
ks=1
def input(key):  # 退出,放置,清除
    if key == "escape":
        quit()
    for box in boxes:
        if box.hovered or b.hovered:
            if key == "right mouse down":
                new = Button(model="cube",
                             color=color.white,
                             position=box.position + mouse.normal,
                             texture=("岩浆.PNG"),
                             parent=scene,
                             origin_y=0.5)
                boxes.append(new)
            if key == "left mouse down":
                l = 0.95
                boxes.remove(box)
                destroy(box)
                time.sleep(0.1)
                l = 0
            if key == "left mouse down":
                l = 0.95
                time.sleep(0.1)
                l = 0
app = Ursina()
Sky()  # 创建天空
boxes = []
player = FirstPersonController(position=(24 ,10 , 24))  # 创建玩家
for i in range(3):
    for n in range(25):  # 生成地形
        for k in range(25):

            box = Button(model="cube",
                         color=color.white,
                         position=(k, -i, n),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(10):  # 生成地形
        for k in range(10):
            box = Button(model="cube",
                         color=color.white,
                         position=(k, i+1, n),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(9):  # 生成地形
        for k in range(9):
            box = Button(model="cube",
                         color=color.white,
                         position=(k, i+2, n),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(8):  # 生成地形
        for k in range(8):
            box = Button(model="cube",
                         color=color.white,
                         position=(k, i+3, n),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(7):  # 生成地形
        for k in range(7):
            box = Button(model="cube",
                         color=color.white,
                         position=(k, i+4, n),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(6):  # 生成地形
        for k in range(6):
            box = Button(model="cube",
                         color=color.white,
                         position=(k, i+5, n),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(5):  # 生成地形
        for k in range(5):
            box = Button(model="cube",
                         color=color.white,
                         position=(k, i+6, n),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(4):  # 生成地形
        for k in range(4):
            box = Button(model="cube",
                         color=color.white,
                         position=(k, i+7, n),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(3):  # 生成地形
        for k in range(3):
            box = Button(model="cube",
                         color=color.white,
                         position=(k, i+8, n),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(2):  # 生成地形
        for k in range(2):
            box = Button(model="cube",
                         color=color.white,
                         position=(k, i+9, n),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)


for i in range(1):
    for n in range(10):  # 生成地形
        for k in range(10):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+1, n+15),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(9):  # 生成地形
        for k in range(9):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+2, n+15),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(8):  # 生成地形
        for k in range(8):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+3, n+15),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(7):  # 生成地形
        for k in range(7):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+4, n+15),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(6):  # 生成地形
        for k in range(6):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+5, n+15),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(5):  # 生成地形
        for k in range(5):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+6, n+15),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(4):  # 生成地形
        for k in range(4):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+7, n+15),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(3):  # 生成地形
        for k in range(3):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+8, n+15),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(2):  # 生成地形
        for k in range(2):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+9, n+15),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)


for i in range(1):
    for n in range(10):  # 生成地形
        for k in range(10):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+1, n+5),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(9):  # 生成地形
        for k in range(9):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+2, n+5),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(8):  # 生成地形
        for k in range(8):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+3, n+5),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(7):  # 生成地形
        for k in range(7):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+4, n+5),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(6):  # 生成地形
        for k in range(6):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+5, n+5),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(5):  # 生成地形
        for k in range(5):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+6, n+5),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(4):  # 生成地形
        for k in range(4):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+7, n+5),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(3):  # 生成地形
        for k in range(3):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+8, n+5),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(2):  # 生成地形
        for k in range(2):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+15, i+9, n+5),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)


for i in range(1):
    for n in range(10):  # 生成地形
        for k in range(10):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+25, i+1, n+8),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(9):  # 生成地形
        for k in range(9):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+25, i+2, n+8),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(8):  # 生成地形
        for k in range(8):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+25, i+3, n+8),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(7):  # 生成地形
        for k in range(7):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+25, i+4, n+8),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(6):  # 生成地形
        for k in range(6):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+25, i+5, n+8),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(5):  # 生成地形
        for k in range(5):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+25, i+6, n+8),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(4):  # 生成地形
        for k in range(4):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+25, i+7, n+8),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(3):  # 生成地形
        for k in range(3):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+25, i+8, n+8),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(2):  # 生成地形
        for k in range(2):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+25, i+9, n+8),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)


for i in range(1):
    for n in range(10):  # 生成地形
        for k in range(10):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+5, i+1, n+18),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(9):  # 生成地形
        for k in range(9):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+5, i+2, n+18),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(8):  # 生成地形
        for k in range(8):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+5, i+3, n+18),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(7):  # 生成地形
        for k in range(7):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+5, i+4, n+18),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(6):  # 生成地形
        for k in range(6):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+5, i+5, n+18),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(5):  # 生成地形
        for k in range(5):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+5, i+6, n+18),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(4):  # 生成地形
        for k in range(4):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+5, i+7, n+18),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(3):  # 生成地形
        for k in range(3):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+5, i+8, n+18),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(2):  # 生成地形
        for k in range(2):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+5, i+9, n+18),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)


for i in range(1):
    for n in range(5):  # 生成地形
        for k in range(7):
            box = Button(model="cube",
                         color=color.white,
                         position=(k, i+1, n+13),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(4):  # 生成地形
        for k in range(6):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+1, i+2, n+14),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(3):  # 生成地形
        for k in range(5):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+2, i+3, n+15),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)


for i in range(1):
    for n in range(4):  # 生成地形
        for k in range(4):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+5, i+7, n+18),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(3):  # 生成地形
        for k in range(3):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+5, i+8, n+18),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)
for i in range(1):
    for n in range(2):  # 生成地形
        for k in range(2):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+5, i+9, n+18),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)



class wasp(Button):
    def _init_(self, x, y, z):
        swper()._init_()
        self.parent = scale
        self.position = (10, 12, 10)
        self.scale = 1000
        self.rotation = (0, 0, 0)
        self.collider = "box"
        self.model = ("Administrator\Desktop\压缩包\蜘蛛.obj")
        def input(kk):
            for wasp in wasps:
                if box.hovered:
                    if kk == "left mouse down":
                        HP = HP-1
                        if HP <= 0:
                            quit()


for i in range(1):
    for n in range(2):  # 生成地形
        for k in range(2):
            box = Button(model="cube",
                         color=color.white,
                         position=(k+13, i+1, n+13),
                         texture=("岩浆.PNG"),
                         parent=scene,
                         origin_y=0.5)
            boxes.append(box)


for c in range(25):  # 生成基岩
    for m in range(25):
        b = Button(model="cube",
                    color=color.white,
                    position=(m, -3, c),
                    texture=("基岩.PNG"),
                    parent=scene,
                    origin_y=0.5)
#            boxes.append(box)

scale = Entity(model="cube",  # 创建手
               color=color.black,
               position=(0.5, -0.6),
               texture=("QQ截图2.PNG"),
               rotation=(-35, -30, -5),
               parent=camera.ui,
               scale=(0.01, 0.01, 0.9)
               )
scale = Entity(model="cube",  # 创建手
               color=color.black,
               position=(0.56, -0.7),
               texture=("QQ截图2.PNG"),
               rotation=(-35, -30, -5),
               parent=camera.ui,
               scale=(0.027, 0.027, 1.1)
               )
scale = Entity(model="cube",  # 创建手
               color=color.red,
               position=(0.43, -0.5),
               texture=("QQ截图2.PNG"),
               rotation=(-35, -30, -5),
               parent=camera.ui,
               scale=(0.0055, 0.0055, l)
               )
scale = Entity(model="cube",  # 创建手
               color=color.black,
               position=(0.43, -0.5),
               texture=("QQ截图2.PNG"),
               rotation=(-35, -30, -5),
               parent=camera.ui,
               scale=(0.0055, 0.0055, 0.9)
               )
app.run()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
治愈绾兮治愈绾兮

所以,发个图片呗

点赞0


评论


超能枫叶超能枫叶

厉害!

点赞0


评论


忧郁的大黄鸡忧郁的大黄鸡

咋玩????????????????????????????????

点赞0


评论


一个STUB用户_14302596一个STUB用户_14302596

ddd

点赞0


评论


胡熠鹏胡熠鹏

我怎么打不开

这个错了

rom ursina import * # 开启3D引擎

点赞0


评论


胡熠鹏胡熠鹏

我安装的是海龟编辑器

 

点赞0


评论