Un langage polyvalent qui peut faire presque tout sauf les logiciels système (logiciels intégrés). [GUI](https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%82%AB%E3%83 % AB% E3% 83% A6% E3% 83% BC% E3% 82% B6% E3% 82% A4% E3% 83% B3% E3% 82% BF% E3% 83% 95% E3% 82% A7 % E3% 83% BC% E3% 82% B9) et [AI](https://ja.wikipedia.org/wiki/%E4%BA%BA%E5%B7%A5%E7%9F%A5 % E8% 83% BD) serait très bon dans ce domaine.
Comment créer un modèle appelé classe et créer une chose réelle appelée instance. Il est implémenté dans de nombreux langages tels que C ++, C #, Java et Python, et vous pouvez créer des applications faciles à voir. Pour plus d'informations, voir Orienté objet (https://en.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF% Veuillez lire E3% 83% 88% E6% 8C% 87% E5% 90% 91).
Une collection de modules Python multiplateformes conçus pour la création de jeux vidéo, y compris une bibliothèque pour travailler avec des graphiques informatiques et de l'audio en Python. pygame est construit au-dessus de la bibliothèque SDL et est conçu pour permettre le développement de jeux informatiques en temps réel sans utiliser de mécanismes de bas niveau comme le langage C. Ceci est basé sur l'hypothèse que la plupart des fonctions intensives en calcul (principalement le traitement graphique) peuvent être séparées de la logique du jeu elle-même, ce qui permet d'utiliser des langages de haut niveau comme Python pour le développement de jeux. Il y a. Veuillez lire PYGAME pour plus de détails.
skeleton.pyw
import pygame,main,apng,OpenGL as lse,OpenGL.GL as lily 
from pygame.locals import * 
class CVak:
    #Barre inférieure*2 privé
    #__RenderName = None
    #__Scene = None
    #__FULLNESS = (22222,)Déclaration constante(Capitale taple)L'accès est-ce.__FULLNESS[0]
    #constructeur(Initialisation de classe)
    def __init__(this):#Cette partie est généralement appelée soi ou ceci
        #Création de la cible de rendu
        #exp/this(self).__RenderName = main.CvRender("Data\\name.png ",posx,posy)
        #this.__Scene = CvScene()
        pass#Pas besoin de fonctions anonymes comme C qui ne font rien<-L'interprète l'ignorera.
    #Processus d'initialisation(à chaque fois)
    def init(this):
        return
    #Processus de mise à jour lors de la saisie d'une clé
    def UpdDwKey(this,key):
        #if key == K_Up:
        return
    #Mettre à jour le traitement au moment de la sortie de clé
    def UpdUpKey(this,key):
        return
    #Obtenir les coordonnées de la souris
    def MousePos(this,x,y):
        return
    #Processus de mise à jour
    def Update(this):
        return
    #Processus de dessin
    def Draw(this):
        #exp/this.__RenderName.Draw()
        return
    #Traitement de la lecture de musique pygame.système de mixage
    def Music(this):
        return
    #Boucle de jeu
    def GameLoop(this):
        if(False):#N'active pas
            this.init()
        this.Update()
        #Sortie couleur à l'écran
        main.Main.Drawwnd(main.Clist.Red.get())
        this.Draw()
        this.Music()
        pass
    #Terminer le traitement
    def finGame(this):
        return
main.pyw
import pygame ,sys,OpenGL as GL
from OpenGL.GL import *
from OpenGL.GLU import *
import skeleton as sk
class Main:
    #Variables statiques
    #__SCRFLG = ((pygame.OPENGL|pygame.DOUBLEBUF),)Lorsque vous avez besoin de 3D
    __SCRFLG = (0,)#2D
    __ScreenHeight:int = 810
    __ScreenWidth:int = 931
    __GameFPS:int = 60
    __GameName:str = "Vgame"
    pygame.init()
    __wnd = pygame.display.set_mode((__ScreenWidth,__ScreenHeight),__SCRFLG[0]) 
    pygame.display.set_caption(__GameName)
    pygame.time.Clock()
    __wnd.fill((0,0,255))
    __game = None
        
    def quit():
        Main.__game.finGame()
        pygame.quit()
        sys.exit(None)
    def Eventloop(event):
        if(event.type == pygame.QUIT):
            Main.quit()
        if(event.type == pygame.KEYDOWN):
            if(event.key == pygame.K_ESCAPE):
                Main.quit()
            else:
                Main.__game.UpdDwKey(event.key)
                return
        if(event.type == pygame.KEYUP):
            Main.__game.UpdUpKey(event.key)
        if(event.type == pygame.MOUSEMOTION):
            (x, y) = event.pos
            Main.__game.MousePos(x,y)
        else:
            return
    def GameMain():
        Main.__game = sk.CVak()
        while(True):
            for event in pygame.event.get():
                Main.Eventloop(event)
            Main.__game.GameLoop()
            pygame.display.update()
        return
    def Drawwnd(color):
        Main.__wnd.fill(color)
    def getWndGet():
        return Main.__wnd
        
#fonction principale
def main():
    Main.GameMain()
class CvRender:
    x:int
    y:int
    path:str
    surf:int
    def __init__(this,path,x,y):
        this.path = path
        this.x = x
        this.y = y
        this.surf = pygame.image.load(this.path).convert_alpha()
    
    def getSizeGet(this):
        return (-this.surf.get_width(),-this.surf.get_height())
    def Draw(this):
        Main.getWndGet().blit(this.surf,(this.x,this.y))
    
    def DrawMiddle(this):
        Main.getWndGet().blit(this.surf,(this.x-this.surf.get_width()/2
                                         ,this.y-this.surf.get_height()/2))
    def CutDraw(this,startx,starty,cutx,cuty):
        Main.getWndGet().blit(this.surf,(this.x,this.y),(startx,starty,cutx,cuty))
    
    def Rev(this,bx,by):
        this.surf = pygame.transform.flip(this.surf,bx,by)
    def Scale(this,sx,sy):
        this.surf = pygame.transform.scale(this.surf,(sx,sy))
    def Rot(this,angle):
        this.surf = pygame.transform.rotate(this.surf.convert(),angle)
class HitsFlg():
    #Mettre la largeur dans posz
    def tri(pos1,pos2,h2):
        if(pos1.posx + pos1.posz <= pos2.posx 
           or pos1.posx >= pos2.posx + pos2.posz):
            return False
        elif(pos2.posy + h2 >= pos1.posy 
             or pos1.posy <= pos2.posy + h2):
            return False
        else:
            return True
    def yen(pos0,pos1):
        posx = pos1.x - pos0.x
        posy = pos1.y - pos0.y
        rad = pos1.z + pos0.z
        if(pow(posx,2) + pow(posy,2) 
           <= pow(rad,2)):
            return True
        else:
            return False
        pass
class CvPos():
    x:int
    y:int
    z:int
    def __init__(this,posx,posy,Btwn):
        this.x = posx
        this.y = posy
        this.z = Btwn
class Cv3DPos():
    pos:CvPos
    size:CvPos
    def __init__(this,posx:int,posy:int,posz:int,sizex = 0,sizey = 0):
        this.pos = (posx,posy,posz)
        this.size = (sizex,sizey,0)
        return 
    def location_in_view(this,adj_x, adj_y):
        """Calcul de coordonnées sur 2D à partir de coordonnées 3D"""
        x2 = int((this.pos.x + adj_x * this.pos.y) / (this.pos.z/10 + 1)) + 200 - int(this.size.x * 0.5 / (this.pos.z/10 + 1))
        y2 = int((this.pos.y + adj_y * this.pos.z) / (this.pos.z/10 + 1)) + 150 - int(this.size.y * 0.5 / (this.pos.z/10 + 1)) 
        return (x2, y2)
    def size_in_view(this):
        """Calcul de taille en 2D à partir de coordonnées 3D"""
        s_x2 = int(this.size.x / (this.pos.z/10 + 1))
        s_y2 = int(this.size.y / (this.pos.z/10 + 1))
        return (s_x2, s_y2)
#Définition des couleurs
class CvCollor():
    __red:int
    __green:int
    __blue:int
    def __init__(this,r,g,b):
        this.__red = r
        this.__green = g
        this.__blue = b
    def get(this):
        return(this.__red,this.__green,this.__blue) 
#Liste des couleurs(Développez votre couleur préférée)
class Clist():
    #Couleur= CvCollor(rouge foncé,vert,Bleu)
    White = CvCollor(255, 255, 255)
    Black = CvCollor(0, 0, 0)
    Green = CvCollor(0, 255, 0)
    Blue = CvCollor(0, 0, 255)
    Red = CvCollor(255, 0, 0) 
    Yellow = CvCollor(255, 255, 0)
    Purple = CvCollor(255, 0, 255)
    Skyblue = CvCollor(0, 255, 255)
    Orange = CvCollor(255, 180, 105)
    Blown = CvCollor(165, 42, 42)
    Pink = CvCollor(255, 0, 165)
    Silver = CvCollor(192, 192, 192)
    Lime = CvCollor(50, 205, 50)
    Virid = CvCollor(0, 137, 107)
    Coblue = CvCollor(0, 71, 171)
    Dblown = CvCollor(81, 31, 9)
    Greeny = CvCollor(17, 69, 20)
class Cvmoveflg():
    up:bool
    down:bool
    left:bool
    right:bool
    def __init__(this,upflg,dwflg,ltflg,rtflg):
        this.up = upflg
        this.down = dwflg
        this.left = ltflg
        this.right = rtflg
class CvFont():
    font:int
    collor:CvCollor
    def __init__(this,name,size,collor):
        this.font = pygame.font.Font(name,size)
        this.collor = collor
    def UpdColor(this,collor):
        this.collor = collor
    def show(this,string,sd,x,y):
        Main.getWndGet().blit(this.font.render(string,sd,this.collor.get()),(x,y))
    def bcshow(this,string,sd,bc,x,y):
        Main.getWndGet().blit(this.font.render(string,sd,this.collor.get(),bc.get()),(x,y))
    def Font(this,collor):
        this.collor = collor
        
if __name__ == "__main__":
    main()
Vous devriez voir un écran rouge avec le titre "vgame" avec x = 931 et y = 810. Si vous le créez désormais, vous pouvez facilement créer des applications et des jeux avec de la musique. Il est recommandé aux débutants du programme de copier et coller. Démarrez le programme maintenant. Une fois que vous avez un script pour créer votre application, lisez la suite.
Ouvrez cmd.exe
[cmd.chemin exe]>> cd [chemin pip]
[chemin pip]>> pip install pyinstaller
Frappé pyinstaller etc. sont célèbres Tout d'abord, copiez pyinstaller.exe sur le chemin de l'application cible Ouvrez cmd.exe
[cmd.chemin exe]>> cd [Chemin de l'application souhaitée(En dessous de G)]
Et frappé
[G]>> pyinstaller [main.Renommé de pyw].pyw [skeleton.Renommé de pyw].pyw --onefile --noconsole (--exclude pandas --exclude numpy)
Frappé Ensuite, je pense que [renommé à partir de main.pyw] .spec est créé, alors ajoutez "pygame" à l'élément exclut d'un fichier.
a.datas += Tree("[Chemin Python]/Lib/site-packages/pygame/", prefix= "pygame")
a.datas += Tree("[Chemin Python]/lib/xml/", prefix= "xml")
Après avoir supprimé les dossiers __pycache__ et build et dist, revenez à cmd.exe
[G]>> pyinstaller [main.Renommé de pyw].spec [skeleton.Renommé de pyw].spec
Si vous tapez, l'exe sous dist démarrera correctement à moins que les données externes ne soient lues. S'il a été lu, il réussira s'il est transféré sur dist.
Je veux utiliser PyOpenGL. Pourtant, je veux écrire beaucoup d'articles.
Recommended Posts