Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - tile map allegro.h
Forum - C/C++ - tile map allegro.h

Avatar
ferrass (Normal User)
Newbie


Messaggi: 4
Iscritto: 04/08/2012

Segnala al moderatore
Postato alle 19:58
Lunedė, 06/08/2012
Salve ragazzi sono di nuovo io visto che non mi avete risposto al vechhio post ne creo un altro..Sinceramente palrando ho sbagliato io ho trasgredito il regolamento infatti se lo potete eliminare grazie. Espongo il problema non so come caricare le mappe create con un porgramma di editing all'interno del mio gioco. grazie:) Ah quasi dimenticavo lo so che non centra nulla ma mi potreste dire come si far saltare lo sprite ho letto gia vecchi post ma non ho capito.Il concetto di gravita l'ho capito di forza ma non so come trascriverlo in codice :rotfl: . Grazie in anticipo:)

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 1:02
Giovedė, 09/08/2012
Non si capisce bene la domanda... potresti riformulare in maniera piu' comprensibile? Oltre a questo, puoi mostrarci una bozza di codice o pseudo-codice sul quale stai lavorando?


Il mio blog: https://piero.dev
PM Quote
Avatar
ferrass (Normal User)
Newbie


Messaggi: 4
Iscritto: 04/08/2012

Segnala al moderatore
Postato alle 15:58
Domenica, 12/08/2012
allora io sto cercando di implementare le tile map ..Ne ho creata una pero mi trovo questo file NewMap.txt e non so come implementarlo.Fino ad ora ho creato solo sfondi per i miei giochi pero vorrei creare una mappa "solida" come quelle di super mario
Codice sorgente - presumibilmente C++

  1. #include <allegro.h>
  2.  
  3. // massimo y 140 in basso  //massimo x 300 a destra  //massimo y alto =0
  4. BITMAP*buf,*mario_right,*sfondo,*scorrimento,*cattivo1,*mattone,*mario_left,*mario_down,*mario_space,*mario_run_1,*mario_run_2; //variabili
  5.  
  6. PALETTE colori;
  7. int x,y,xscorrimento,moltiplica,xcattivo1,ycattivo1,vx,vy,g,salto,change,tempo;
  8.  
  9.  
  10. void doppiobuffering() {
  11.      vsync();
  12.      blit(buf,screen,0,0,0,0,320,300) ;
  13.      clear(buf);
  14.      }
  15.      void player() {
  16.          
  17.                        
  18.           draw_sprite(buf,mario_right,x,y) ;
  19.          
  20.           }
  21.          
  22.           void movimento() {
  23.                if(key[KEY_RIGHT]) x=x+1 ,vx++  ;if(x>=300) x=300;vx=0;
  24.                if(key[KEY_LEFT]) x=x-1,vx--,clear (buf),   blit(scorrimento, buf, xscorrimento, 0, 0, 0, 320, 200),draw_sprite(buf,mario_left,x,y); if ( x<=10) x=10;vx=0;    
  25.               if(key[KEY_DOWN])clear(buf) , blit(scorrimento, buf, xscorrimento, 0, 0, 0, 320, 200),draw_sprite(buf,mario_down,x,y);
  26.              
  27.                              
  28.                
  29.  
  30.                                          
  31.                        
  32.          
  33.     if (key[KEY_SPACE] )
  34.  
  35.    
  36. salto=true;
  37.  
  38.  
  39.     if(y>=100 && salto==true)
  40.    
  41.  
  42. {
  43.  
  44.     clear(buf), blit(scorrimento, buf, xscorrimento, 0, 0, 0, 320, 200),draw_sprite(buf,mario_space,x,y);  
  45.  
  46. vy=1.9;
  47. x +=vx;
  48. y -= vy;
  49. vy += g;
  50.                      
  51. }
  52.    else {
  53.       salto=false;
  54.  
  55.  if(y<=140) {
  56.      x +=vx;  
  57.      y +=vy;
  58.      vy +=g;      
  59.  
  60.      
  61.                        
  62.        
  63. }
  64. }
  65. }
  66.                  
  67.                                      
  68.              
  69.              
  70.              
  71.              
  72.              
  73.              
  74.              
  75.              
  76.              
  77.              
  78.                void paesaggio() {
  79.                    
  80.                if(x==300) {
  81.                                xscorrimento++;
  82.                                }
  83.                          
  84.                                
  85.                    
  86.                    blit(scorrimento, buf, xscorrimento, 0, 0, 0, 320, 200);
  87.                    if(xscorrimento>319){
  88.                                         xscorrimento=0;
  89.                    
  90.                     }
  91.                     }
  92.                     void cattivonumero1() {
  93.                          
  94.                          draw_sprite(buf,cattivo1,xcattivo1,ycattivo1);
  95.                          
  96.                          }
  97.                    
  98.                              
  99.  
  100.                                                                
  101.          
  102.      int main() {
  103.          allegro_init();
  104.          install_keyboard();
  105.          set_color_depth(32);
  106. set_palette(colori);
  107.          set_gfx_mode(GFX_AUTODETECT, 320, 200, 0, 0);
  108.          
  109.          buf = create_bitmap(320, 200);
  110.          clear(buf);
  111.           mario_right=load_bmp("mario_right.bmp",colori);
  112.           sfondo=load_bmp("paesaggio.bmp",colori);
  113.           cattivo1=load_bmp("cattivo1.bmp",colori);
  114.          
  115.           mario_left=load_bmp("mario_left.bmp",colori);
  116.           mario_down=load_bmp("mario_down.bmp",colori);
  117.           mario_space=load_bmp("mario_space.bmp",colori);
  118.           mario_run_2=load_bmp("frame2.bmp",colori);
  119.           mario_run_1=load_bmp("frame1.bmp",colori);
  120.  
  121.          
  122.              
  123.          
  124.          scorrimento = create_bitmap(640, 200);
  125.          clear(scorrimento);
  126.          for (moltiplica=0;moltiplica<=640;moltiplica=moltiplica+320) {
  127.              blit(sfondo, scorrimento, 0, 0, moltiplica, 0, 320, 200);
  128. }
  129.           x=40;y=140;
  130.           xcattivo1=250    ;   ycattivo1=149;
  131.      vy=0;g=0.8;
  132.      
  133.      
  134.           tempo=0;
  135.    
  136.          while(!key[KEY_ESC]) {
  137.                              doppiobuffering();
  138.                              paesaggio();
  139.                             player();
  140.                             movimento();
  141.                          
  142.                             cattivonumero1();
  143.                      
  144.                            
  145.                    
  146.                            
  147.                            
  148.                            
  149.                            
  150.                              }
  151.                              destroy_bitmap(buf);
  152.                              destroy_bitmap(mario_right);
  153.                              destroy_bitmap(sfondo);
  154.                              destroy_bitmap(scorrimento);
  155.                              destroy_bitmap(cattivo1);
  156.                              destroy_bitmap(mattone);
  157.                              destroy_bitmap(mario_left);
  158.                              destroy_bitmap(mario_down);
  159.                              destroy_bitmap(mario_space);
  160.                              destroy_bitmap(mario_run_2);
  161.                              destroy_bitmap(mario_run_1);
  162.                            
  163.                              
  164.                              
  165.                              }
  166. END_OF_MAIN ();


questo č il mio codice voi sapete per caso come caricare queste tile map nel codice ? grazie :k:

PM Quote