Démosmaking

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Démosmaking

Message par garzul »

:D Bonjour qui pourrait m'apprendre les joie du démomaking car j'adore sa et je voudrai en faire merci a vous ^^ :D :D :D :D :D :D
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

:D Heu merci kaklox mais je voulais pas 1 tonne de site qui parle de programmation en c++ moi je veux dans le pure basic ^^ mais merci quand meme . :)
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

:D Whaouuuuuu 8O Je ne me croyais pas capable de sa mais j'y suis réussi je croyais pas capable vu mon niveau en math alors je vais vous expliquez c'etait hier soir régis vient de se conecter donc je lui parle de demosmaking alors il me file un effet (c'est l'effet du repere 3d ) alors je me dis pourqu'oi ne pas faire pareil mais en codans je me rendus compte que je n'etait pas capable alors je me suis dis régis a refléchi pour que sa fasse un repere 3d alors il y a des calcul et tt sa alors je me suis dit mais pourqu'oi ne pas faire son propre effet tout seul sans but alors garzul commenca le source sans aides exterieur et sans regarder d'autre code (TOUT SEUL) :) quand garzul finie il compila le tout et magique sa faisait une ligne qui tournait et la garzul sautilla de joie car il avait crée son propre effet tout seul alors voila je suis emus et fier de vous presenter mon source mais apres j'ai voulu vu que sa tourner afficher un point a chaque extrémiter et vu que sa tourne sa aurai fait un cercle mais voila je n'y suis pas arriver si vous pourriez arranger mon source pour que sa fasse sa sa serait bien . PS : Essayer d'effacer le clearscreen sa donne un effet trés jolie voila la source

Code : Tout sélectionner

;Coder par garzul le 20 aout a 4 heure 31

;Structure
Structure Ligne
  x.f
  y.f
  x2.f
  y2.f
EndStructure

 Global coord.Ligne


;Procedure du dessin
  Procedure Ligne(x.f,y.f,anx.f,any.f)


    Protected x1.f,y2.f

      Coord\x = x1  + x * Sin(any)
      Coord\y = y2  - x * Cos(any)
      
      ; * Cos(anx)
  EndProcedure

;initialisation des cmposant
    If InitSprite() = 0 Or InitKeyboard() = 0
      End
    EndIf

;création screen
OpenScreen(1024,768,32,"Démos")

AngleX.f = 0
AngleY.f = 0
AngleZ.f = 0

  FontID = LoadFont(0, "tahoma", 8, #PB_Font_HighQuality)

SetFrameRate(30) 

;BOUcle
Repeat

  ClearScreen(0, 0, 0);A enlever sa fait un jolie effet :)

  AngleX + 0.01
  AngleY + 0.09
  AngleZ + 0.09
  
  StartDrawing(ScreenOutput())
    DrawingFont(FontID)
      
      ;Tracer de la ligne 1
      Ligne(200,0,angleX,AngleY)
        Line(250,250,coord\x,coord\y,RGB($F7,$EF,$08))
        
          Plot( 250 + coord\x,250 + coord\y,RGB($1B,$3E,$E4)) ;Normalement le point qui devrait faire un cercle
          
          ;tracer de la ligne 2
         Ligne(0,200,angleX,AngleY)
        Line(250,250,coord\x2,coord\y2,RGB($28,$18,$D7))       
 
  StopDrawing()

  FlipBuffers()

  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
:D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

moi j'ai utilise les sprite (plus simple)
et j'ai vire le clearscreen pour que ça laisse des traces

ensuite je dessine un cercle noir au centre pour simuler le clearscreen
de cette facon les lignes qui laisses des traces disparaissent !!
bref une grosse arnaque !!! :D

soit dit en passant le mask qui simule le cls (clearscreen) etait une astuce tres employé dans les jeux video des années 80 !!
c'est tres efficace et economique en code !!
l'avantage c'est qu'avec les forme de base (cercle, rectangle ,triangle))
on dispose de "gommes" sur mesure !!! :D faut y penser des fois c'est utile !! :D

Code : Tout sélectionner

 ;Coder par garzul le 20 aout a 4 heure 31

;Structure
Structure Ligne
    x.f
    y.f
    x2.f
    y2.f
EndStructure

Global coord.Ligne

InitSprite()



;Procedure du dessin
Procedure Ligne(x.f,y.f,anx.f,any.f)
    
    
    Protected x1.f,y2.f
    
    coord\x = x1  + x * Sin(any*2*3.1415926/50)
    coord\y = y2  - x * Cos(any*2*3.1415926/50)
    
    ; * Cos(anx)
EndProcedure

;initialisation des cmposant
If InitSprite() = 0 Or InitKeyboard() = 0
    End
EndIf

;création screen
;OpenScreen(1024,768,32,"Démos")
OpenWindow(1, 0, 0, 800, 600, #PB_Window_SystemMenu , "hello" )
WindowID = WindowID(1)
OpenWindowedScreen(WindowID, 0, 0, 800, 600, 1, 0, 0)
; on fait des sprites pour remplacer le plot qui est moin beau !!
For t=1 To 200
    CreateSprite(t, 10, 10 )
    StartDrawing(SpriteOutput(t) )
    Circle(5, 5, 5 ,RGB(255,255,255))
    StopDrawing()
Next t

AngleX.f = 0
AngleY.f = 0
AngleZ.f = 0

FontID = LoadFont(0, "tahoma", 8, #PB_Font_HighQuality)

SetFrameRate(60)
t=1
;BOUcle
Repeat
    
    
    AngleX + 0.5
    AngleY + 0.5
    AngleZ + 0.5
    
    StartDrawing(ScreenOutput())
    DrawingFont(FontID)
    
    ;Tracer de la ligne 1
    Ligne(200,0,AngleX,AngleY)
    
    Line(250,250,coord\x,coord\y,RGB($F7,$EF,$08))
    
    
    ;Plot( 250 + coord\x,250 + coord\y,RGB($1B,$3E,$E4)) ;Normalement le point qui devrait faire un cercle
    
    StopDrawing()
    t+1:If t=200:t=1:EndIf
    DisplaySprite(t,coord\x+250,coord\y+250)  ; et hop un sprite a la place de plot !!
    
    ; GROSSE ARNAQUE !!!!!!!!
    FlipBuffers()
    StartDrawing(ScreenOutput())
    Circle(255, 255, 195,RGB(0,0,0)) ; ceci est une grosse arnaque , mais faut pas le dire
    StopDrawing()
    
    ; ClearScreen(0, 0, 0);A enlever sa fait un jolie effet :)  ; bem moi je l'ai retiré !!!
    Event=WindowEvent()
    Delay(1)
    ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)Or Event=#PB_Event_CloseWindow
Dernière modification par Backup le ven. 20/août/2004 11:04, modifié 1 fois.
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

cool :D
et Garzul, Karox t'as déjà donné des liens, c'est bien tois qui desespérai hier. En Pure, tu n'auras rien comme explications, alors bon, remercie plutôt
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Oliv a écrit :Garzul, Karox t'as déjà donné des liens
garzul a écrit :Heu merci kaklox mais...
Est-ce que vous allez réussir à orthographier son pseudo correctement au moins une fois, dans ce post :lol:

KarLKoX
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Oliv ==> Mais je le remercie car sa ma étais un peu utile mais bon le c++ et moi :?

Dobro ==> Génial ton code ,merci !!! C'EST PAS BIEN DE TRICHER :D

Chris ==>Bah non car on oublie les lettre en majuscule c'est sa qui nous fait tromper ^^

En tout cas merci les gars et j'attend encore plus d'aides (je mettrai ici mes effet!!!)
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

voila une petite démo simple
les touches sont les fleches gauche et droite

Code : Tout sélectionner

InitSprite()
InitKeyboard()
OpenScreen(640, 480, 32, "")

#MAX = 100
#PLANS = 5
Dim etoile.Point(#MAX-1, #PLANS-1)

RandomSeed(ElapsedMilliseconds())
For j=0 To #PLANS-1
  For i=0 To #MAX-1
    etoile(i, j)\x = Random(640)
    etoile(i, j)\y = Random(480)
  Next i
  CreateSprite(j, 1, 1)
  StartDrawing(SpriteOutput(j))
  Plot(0, 0, RGB(51*(j+1), 51*(j+1), 51*(j+1)))
  StopDrawing()
Next j

dx = 0

Repeat
  ClearScreen(0, 0, 0)
  ExamineKeyboard()
  
  If KeyboardPushed(#PB_Key_Left)  : dx - 1 : EndIf
  If KeyboardPushed(#PB_Key_Right) : dx + 1 : EndIf
  
  For j=0 To #PLANS-1
    For i=0 To #MAX-1
      
      x = etoile(i, j)\x + dx/(#PLANS-j)
      
      While x<0 : x+640 : Wend
      While x>=640 : x-640 : Wend
      
      DisplaySprite(j, x, etoile(i, j)\y)
    Next i
  Next j
  
  FlipBuffers(1)
Until KeyboardPushed(#PB_Key_Escape)
Dri
Dernière modification par Dr. Dri le ven. 20/août/2004 12:53, modifié 1 fois.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

ben tu vois, les sin et cos, c'est pas la mort ;)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Salut régis en faite c'est facile l'utilisation des cos et des sin ^^ :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

code de DRI

heu ! j'ai le mal de l'espace la !! :D

Code : Tout sélectionner

 InitSprite()
InitKeyboard()
OpenScreen(640, 480, 32, "")

#MAX = 100
#PLANS = 5
Dim etoile.POINT(#MAX-1, #PLANS-1)

RandomSeed(ElapsedMilliseconds())
For j=0 To #PLANS-1
    For i=0 To #MAX-1
        etoile(i, j)\x = Random(640)
        etoile(i, j)\y = Random(480)
    Next i
    CreateSprite(j, 1, 1)
    StartDrawing(SpriteOutput(j))
    Plot(0, 0, RGB(51*(j+1), 51*(j+1), 51*(j+1)))
    StopDrawing()
Next j

dx = 0

Repeat
    ClearScreen(0, 0, 0)
    ExamineKeyboard()
    
;     If KeyboardPushed(#PB_Key_Left)  : dx - 1 : EndIf
;     If KeyboardPushed(#PB_Key_Right) : dx + 1 : EndIf
    amplitude=10
    angle+1
    dx + Sin(angle*2*31415926/50)*amplitude
  
    
    For j=0 To #PLANS-1
        For i=0 To #MAX-1
            
            x = etoile(i, j)\x + dx/(#PLANS-j)
            
            While x<0 : x+640 : Wend
            While x>=640 : x-640 : Wend
            
            DisplaySprite(j, x, etoile(i, j)\y)
        Next i
    Next j
    
    FlipBuffers(1)
Until KeyboardPushed(#PB_Key_Escape)
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

moi non plus je me sens pas bien là :?

Dri :10:
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

@dri : cool !!!!!!
@Dobro : et ça t'amuse :twisted: !!! :lol: :lol:
@Chris : Comme je l'ai déjà dis à dobro qui rallait (encore, il va remplacer régis) sur une lettre qui manquait, je change de Pc et de clavier, il y en a un plus sensible que l'autre, alors....EXCUSE MOI KarLKoX (vive le copier/coller)
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

:D Voila terminée pfiouu a 05 : 42 voici un début de démos que vous pouvez essayer a cette adresse il y a plusieur effet dedans et aucun ne sont copier c'est tous codé a la main de garzul ^^ :D allez voir mon début pour dire ce que vous en pensez PS : Il y a des bug d'afffichage es-ce normale ? le lien et http://consolpcgame.ifrance.com/consolpcgame/demo.rar Allez moi je vais dodo @++ :D Enfin c'est grace a vous merci a tous et surtout a Oliv ,Régis,Dobro,Dri^^ ,et excusez moi si j'en oublie d'autre en tout cas merci j'ai appri a me servir des cos et des sinus , des boucle for et next ect...
Répondre