pygame多图伪3d

这篇具有很好参考价值的文章主要介绍了pygame多图伪3d。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pygame多图伪3d,pygame,3d,python
pygame多图伪3d,pygame,3d,python
pygame多图伪3d,pygame,3d,python文章来源地址https://www.toymoban.com/news/detail-642692.html

import cv2
import pygame
import sys
from pygame import gfxdraw
import numpy as np

(width, height) = (800, 600)
pygame.init()
screen = pygame.display.set_mode((width, height))
image = pygame.image.load("11.jpg").convert()
image1 = pygame.image.load("1.jpg").convert()
d3=pygame.surfarray.array3d(image)
f=250#数字大会显示更前面的图片
sc=300#数字越大视角越高
color=(255, 255, 255)
#print(len(d3[0][0]))#len(d3 )就是有多少张表 一个[0]是有多高 两个是每个表有几列 三个就是具体数
#print(d3[0][0][0])
#print(d3)
#sarray=pygame.surfarray.array3d(pygame.surface((50,50)))
sarray=pygame.surfarray.array3d(pygame.Surface((width,height)))
#sarray[:]=(255,255,0)变成黄色,替换所有为(255,255,0)

tsize=image.get_size()#图片宽高
tsize1=image1.get_size()#图片宽高
print(tsize)
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
        if event.type == pygame.MOUSEBUTTONDOWN:
            mouse = pygame.mouse.get_pos()
            '''pxarray = pygame.PixelArray(screensurf)
            pixel = pygame.Color(pxarray[mouse[0], mouse[1]])#获取像素
            print (pixel)
            print (screensurf.get_at(mouse))#颜色
            print(mouse[0], mouse[1],mouse)#点击坐标
            print(img.get_at(mouse))#颜色'''
            #pygame.Surface.set_at(screen, (140, 140), (img.get_at(mouse)))
            print(mouse[0], mouse[1], mouse)  # 点击坐标
    for i in range(width):
        for j in range(int(height/2),height):
            x=(width/2)-i
            y=j+f
            z=j-(height/2)+0.01
            '''
            def huizhi(x, y, z):
            shiju = 300
            x1 = shiju * x / z
            y1 = shiju * y / z
            # p.append((x1,y1))
            return x1, y1
            '''
            px=x/z*sc
            py=y/z*90
            '''不重复图片'''
            #print(px, py)

            if 0 <= px < tsize[0] and 0 <= py< tsize[1]:
                #print(px, py)
                fp = int(px), int(py)
                #fc = d3[fp]
                #sarray[-i, j] = fc
                pygame.Surface.set_at(screen, (i, int(j/2)+260), (image.get_at((fp))))
                #pygame.Surface.set_at(screen, (int(i * 0.5), int(j * 0.5)), (image.get_at((fp))))
            #fp=int(px%tsize[0]),int(py%tsize[1])#tsize【0】,【1】是图片宽高

    for i in range(width):
        for j in range(int(height/2),height):
            x=(width/2)-i
            y=j+f
            z=j-(height/2)+0.01
            '''
            def huizhi(x, y, z):
            shiju = 300
            x1 = shiju * x / z
            y1 = shiju * y / z
            # p.append((x1,y1))
            return x1, y1
            '''
            px=x/z*sc
            py=y/z*90
            '''不重复图片'''
            #print(px, py)

            if 0 <= px < tsize1[0] and 0 <= py< tsize1[1]:
                #print(px, py)
                fp = int(px), int(py)
                #fc = d3[fp]
                #sarray[-i, j] = fc
                pygame.Surface.set_at(screen, (i+300, int(j/2)+260), (image1.get_at((fp))))
                #pygame.Surface.set_at(screen, (int(i * 0.5), int(j * 0.5)), (image.get_at((fp))))
            #fp=int(px%tsize[0]),int(py%tsize[1])#tsize【0】,【1】是图片宽高
    #pygame.surfarray.blit_array(screen,sarray)
    pygame.display.update()


到了这里,关于pygame多图伪3d的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pygame伪3d地面 移动效果

    2024年02月13日
    浏览(83)
  • 【Python画图03】多图显示

    最近在学习python制图,准备做个模板好出图 这个学习系列都参考了B站UP主的视频《【莫烦Python】Matplotlib Python 画图教程》,我是将他的代码重新输入下来后加入了自己的注释和理解,感恩 这一种方法大致是这样的: 这一种和下一种的划分是一样的,但是索引不同:

    2024年02月14日
    浏览(36)
  • 超详细最新PyCharm+Python环境安装,多图,逐步骤

    文章会详细介绍PyCharm+Python详细安装步骤,接下来会看到很多图片,因为截图十分详细告知了每一步如何操作,尽可能让每一个人能看懂、会操作、能正确安装,所以图很多。中途也遇到了小问题,不要担心,都有解决方法。 同时有其他问题,欢迎大家积极留言互相讨论。

    2024年02月04日
    浏览(50)
  • 【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github

    前面的文章我们搭建了微信公众号开发的服务器,写了一点代码。后面肯定会对代码不断的完善和迭代,那怎样维护这些代码呢? 可以通过GitHub进行维护和版本管理。 本文主要带你从0开始构建起服务器和GitHub仓库之间的联系。 本文假设你已经略懂基本的 git 指令: git init

    2024年02月02日
    浏览(73)
  • Python Pygame使用详解

    Python Pygame使用详解 Pygame是一个强大的Python库,用于开发2D游戏和多媒体应用程序。它基于Simple DirectMedia Layer(SDL)库,提供了一组功能丰富的工具和函数,使开发者能够轻松创建游戏、图形和音频应用程序。本文将详细介绍如何使用Pygame库进行游戏开发,并提供相应的源代码

    2024年02月03日
    浏览(41)
  • 【Python-Pygame】

    Pygame 是一个专门用来开发游戏的 Python 模块,主要为开发、设计 2D 电子游戏而生,它是一个免费、开源的第三方软件包, 支持多种操作系统,具有良好的跨平台性(比如 Windows、Linux、Mac 等)。 Pygame 教程适合想要了解 Python 游戏开发的人员学习。 SDL 是一套开放源代码的跨平

    2024年04月23日
    浏览(28)
  • Python学习笔记-Pygame

    目录 一、Pygame概述 1.安装Pyganme 2.Pygame常用模块介绍 2.1 display模块常用方法 2.2 pygame.event模块常用方法 2.3 Surface对象的常用方法 二、问题汇总 1.窗体问题 1.1 添加死循环之后出现窗体未响应。 记述关于Pyganme开发的基本知识。 Pygame是跨平台的python模块,转为电子游戏设计(包含

    2024年02月09日
    浏览(100)
  • Python游戏篇:pygame

    pygame专门用于多媒体(如电子游戏开发),其中包含对图像、声音、视频、事件、碰撞等支持, 如果想开发3D游戏,pygame就显得力不从心了,可以看看panda3d。 pygame中的draw模块可以在窗口上绘图如线条、矩形、多边形、圆、椭圆、圆弧等。 pygame中的image模块用来加载图片。

    2024年02月13日
    浏览(46)
  • 如何在pycharm中安装pygame游戏插件 和Python中安装pygame教程

    在用pycharm软件开发python小游戏前,需要安装pygame的插件,如何安装呢? 方法一、包管理器安装 1、在pycharm软件中定位到  file  – settings 2、定位到: project (自己的项目中)–python interpreter,选择右边的 pip 3、双击 pip ,进入查询插件界面,输入  pygame  ,进行查询这个插件

    2024年02月02日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包