Mais mon dieu que ce cegui est laid
Crazy Sheep
- falsam
- Messages : 7336
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Crazy Sheep
Enfin un joli résultat
Mais mon dieu que ce cegui est laid
Mais mon dieu que ce cegui est laid
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Crazy Sheep
Lol c'est kler
Re: Crazy Sheep
Par contre je ne sais pas si le jeu sera en mode plein écran ou en mode fenêtre. Le quelle est le mieux ?
- falsam
- Messages : 7336
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Crazy Sheep
J'ai une préférence pour le fenêtré maximisé. Ça évite le changement de résolution du moniteur.MetalOS a écrit :Par contre je ne sais pas si le jeu sera en mode plein écran ou en mode fenêtre. Le quelle est le mieux ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- majikeyric
- Messages : 602
- Inscription : dim. 08/déc./2013 23:19
- Contact :
Re: Crazy Sheep
On ne dispose pas de plus de ressources processeur en mode plein écran ?
Je sais que l'on est toujours en multi-taches mais peut être que...
Je sais que l'on est toujours en multi-taches mais peut être que...
Re: Crazy Sheep
L'avantage du plein ecran, c'est que tu peux utiliser une autre resolution que celle de ton bureau, qui peut etre enorme (y'a des ecrans 4K maintenant), et donc reduire la charge graphique.
Re: Crazy Sheep
Mais si je part sur du plein écran de quelle taille doit être mes mesh ?
Re: Crazy Sheep
En principe la taille des meshes est relative à celle de l'écran, donc ca ne doit pas poser de probleme.
Re: Crazy Sheep
Ok merci
Re: Crazy Sheep
Effectivement, mais avec createwindowedscreen() tu peux mettre une définition personnalisée (par exemple 800, 600), puis activer le redimensionnement automatique.Fred a écrit :L'avantage du plein ecran, c'est que tu peux utiliser une autre resolution que celle de ton bureau, qui peut etre enorme (y'a des ecrans 4K maintenant), et donc reduire la charge graphique.
C'est une astuce de netmaestro.
Code : Tout sélectionner
InitSprite()
OpenWindow(0,0,0,320,240,"",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget)
OpenWindowedScreen(WindowID(0),0,0,1920,1080,1,0,0,#PB_Screen_WaitSynchronization)
CreateImage(0,1920,1080)
StartDrawing(ImageOutput(0))
Box(0,0,1920,1080,RGB(200,200,200))
Box(0,0,40,40,#Red)
Box(1880,0,40,40,#Red)
Box(1880,1040,40,40,#Red)
Box(0,1040,40,40,#Red)
StopDrawing()
Repeat
Repeat
ev=WindowEvent()
If ev=#PB_Event_CloseWindow
End
EndIf
Until ev=0
StartDrawing(ScreenOutput())
DrawImage(ImageID(0),0,0)
StopDrawing()
FlipBuffers()
ForEver
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel
)
Mon site : CeriseCode (Attention Chantier perpétuel
Re: Crazy Sheep
Merci comme je bosse de nuit samedi et dimanche j'aurais le temps de faire des test.
Re: Crazy Sheep
Voici une maquette fait sur GIMP du menu du jeu qui peut surement changer en cours de route.

Malheureusement je manque de temps pour pouvoir avancer sur ce projet, alors c'est au compte goutte.
J'ai un petit problème pour afficher le titre du jeu qui et une image au format PNG. Comme je ne connait pas trop la prog 3D mon code et surement mal codé, le voici.

Malheureusement je manque de temps pour pouvoir avancer sur ce projet, alors c'est au compte goutte.
J'ai un petit problème pour afficher le titre du jeu qui et une image au format PNG. Comme je ne connait pas trop la prog 3D mon code et surement mal codé, le voici.
Code : Tout sélectionner
;*************************
; Crazy Sheep
;
; Version 1.0.0
;
; By MetalOS
;*************************
#CameraSpeed = 1
Enumeration
#MainWindow
#Titre
#ImageTitre
EndEnumeration
If InitEngine3D()
Add3DArchive("Data/Textures", #PB_3DArchive_FileSystem)
Add3DArchive("Data/Models", #PB_3DArchive_FileSystem)
Add3DArchive("Data/Scripts", #PB_3DArchive_FileSystem)
Add3DArchive("Data/GUI", #PB_3DArchive_FileSystem)
Parse3DScripts()
InitSprite()
InitKeyboard()
If OpenWindow(#MainWindow, 0, 0, 1024, 768, "Crazy Sheep - Version 1.0.0", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If OpenWindowedScreen(WindowID(#MainWindow), 0, 0, 1024, 768)
SkyDome("cloud.jpg", 30)
;-Entity
CreateEntity(0, LoadMesh(0, "Planete.mesh"), #PB_Material_None)
RotateEntity(0, 30, -20, 0)
CreateLight(0, RGB(255, 255, 255), 10, 0, 30, #PB_Light_Point) ; Light blanc
;-Camera
CreateCamera(0,0,0,100,100)
MoveCamera(0,0.2,0,5, #PB_Absolute)
CameraBackColor(0, RGB(42, 90, 183))
UsePNGImageDecoder()
LoadImage(#ImageTitre, "Data\Textures\Titre.png")
CreateSprite(#Titre, ImageWidth(#ImageTitre), ImageHeight(#ImageTitre))
If StartDrawing(SpriteOutput(#Titre))
DrawImage(ImageID(#ImageTitre), 0, 0)
StopDrawing()
EndIf
EndIf
EndIf
Repeat
ExamineKeyboard()
RenderWorld()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
Else
MessageRequester("Erreur", "Le moteur 3D n'est pas initialisé.", 0)
EndIf
End
Re: Crazy Sheep
Hello,
Nice...
Il est très facile d'afficher des sprites après le RenderWorld()
Charge le titre en Sprite et affiche le avec un DisplaySprite ou DisplayTransparentSprite...
Tous les textes (menus, scores...) peuvent aussi s'afficher avec des sprites (c'est même mieux)...
Ce soir, si tu veux, je poste un exemple en 3D avec des fonts pixels...
Nice...
Il est très facile d'afficher des sprites après le RenderWorld()
Charge le titre en Sprite et affiche le avec un DisplaySprite ou DisplayTransparentSprite...
Tous les textes (menus, scores...) peuvent aussi s'afficher avec des sprites (c'est même mieux)...
Ce soir, si tu veux, je poste un exemple en 3D avec des fonts pixels...
Only PureBasic makes it possible
Re: Crazy Sheep
Hop,
2 images à mettre dans un dossier intitulé "Picture"
Texture.bmp

Font.bmp

2 images à mettre dans un dossier intitulé "Picture"
Texture.bmp

Font.bmp

Code : Tout sélectionner
InitEngine3D()
InitKeyboard()
InitMouse()
InitSprite()
Declare AffText(Text$,x.i,y.i,light.i)
OpenScreen(1024,768,32,"")
CreateCamera(0,0,0,100,100)
MoveCamera(0, 10, 40, 10, #PB_Absolute)
CameraLookAt(0,0,0,0)
Add3DArchive("Picture", #PB_3DArchive_FileSystem)
CreateMaterial(0, LoadTexture(0, "Texture.bmp"))
CreateCube(0,10)
CreateEntity(0,MeshID(0),#PB_Material_None)
CreateEntity(0,MeshID(0),MaterialID(0))
LoadImage(100,"Picture/font.bmp") ; Charge l'image de toutes les lettres
For j=0 To 125-33 ; Fait une boucle de toutes les lettres
GrabImage(100,j,j*16,0,j*16+16,16) ; Découpe lettre par lettre
CreateSprite(j+100,16,16) ; Crée un sprite pour chaque lettre
StartDrawing(SpriteOutput(j+100))
DrawImage(ImageID(j),0,0) ; Place la lettre découpée dans le sprite
StopDrawing()
Next
Repeat
ExamineKeyboard()
RotateEntity(0,0.3,0,0,#PB_Relative)
RenderWorld()
Transpa+1:If Transpa=255:Transpa=0:EndIf
AffText("Transparence "+Str(Transpa),400,300,Transpa)
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Procedure AffText(Text$,x.i,y.i,light.i)
For j=1 To Len(Text$) ; Fait une boucle sur le nombre de caractères à afficher
a$=Mid(Text$,j,1) ; Prends un caractère après l'autre
If (Asc(a$)>=Asc("!")) And (Asc(a$)<=Asc("z")) ; vérifie que le caractère existe
i.i=Asc(a$)-33 ; rappel : le code Ascii de ! est 33
DisplayTransparentSprite(i+100,x+j*16,y,light) ; Affiche le sprite du caractere
EndIf
Next
EndProcedureOnly PureBasic makes it possible