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