Forum Liberty Basic France

Le 12/06/2011 à 00h01

Administrateur

Groupe: Administrateur

Inscrit le: 25/09/2010
Messages: 362
Reprise du message précédent

En fait, ça viens de moi si je trouve que ton code et pas très bien structuré. Je code en C++ maintenant et pouvoir faire plusieurs fichiers (donc pas des pavé de 600 lignes) c'est le pied. Maintenant, avec LB, on peut pas, donc...
Par contre, il manque quand même les commentaires...
Bref...

Et, chez moi, cette commande midi fonctionne...
Fais voir la partie de ton code où tu la mets stp.

Avant l'animation du perso, fait le système de collision, une chose à la fois.

De rien

Cordialement
Jagang
____________________
J'ai toujours raison ! Sauf quand j'ai tort ...

Web    
Le 12/06/2011 à 01h24

Administrateur

Groupe: Administrateur

Inscrit le: 24/09/2010
Messages: 238
Il est possible de séparer le code en LB, toutefois on ne peut pas le faire nativement il faut utiliser d'autres IDE tels que JaLBe ou LBuilder qui permettent de faire des includes. Je m'en sert et cela fonctionne très bien. JaLBe n'est plus mis à jour, mais LBuilder est un très bon IDE :)
____________________

MSN Yahoo Web    
Le 12/06/2011 à 23h36

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 437
salut,
hum comment on peut exécuter un programme avec une ligne de just basic ?
run " file namefile.exe" ???
exemple : j'ai une icone sur le bureau et je voudrais l'ouvrir avec un bmpbutton.....
quelle est la ligne de commande ??? je sais qu'elle existe mais j'ai des "syntaxe Error" -_-' je sais plus comment faire =( !

help !



Edité par atomose Le 12/06/2011 à 23h36
____________________
Yo !

MSN Web    
Le 12/06/2011 à 23h53

Administrateur

Groupe: Administrateur

Inscrit le: 24/09/2010
Messages: 238
Il faut faire "run chemin_du_fichier/fichier.exe" (:
____________________

MSN Yahoo Web    
Le 13/06/2011 à 00h39

Administrateur

Groupe: Administrateur

Inscrit le: 25/09/2010
Messages: 362
Je suis pas sur que ca fonctionne pour les raccourcis du bureau (j'en doute même), dans ce cas, il faut bien pointer sur l'exécutable pointé par le raccourci.

Arrives-tu a mettre en place ton nouveau système de collisions ?

Cordialement
Jagang
____________________
J'ai toujours raison ! Sauf quand j'ai tort ...

Web    
Le 13/06/2011 à 11h43

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Salut Atomose,
ton prog a une esthétique superbe ! j'aime aussi beaucoup la musique du "13ème guerrier" ;)

A ce propos, mets playwave "" au lieu de playwave " ". Ça coupera la musique en sortant... ;)

C'est TRÈS TRÈS difficile de travailler sur le prog de quelqu'un d'autre, chacun ayant ces méthodes et astuces...
D'après ce que je vois avec la version 1.8, tu utilises beaucoup les [labels] et tu écris à peu près les choses tel qu'elles te viennent... et tu n'utilses pas de variables tableaux ni les structures conditionnelles tel que "select case" qui te seraient pourtant très utile pour ton projet... ça fonctionne mais la structure générale est plutôt difficile à suivre quand on est pas l'auteur...;)

Tout ce que je peux te proposer sont quelques astuces "génériques"...

par exemple, il existe un commande que je trouve SUPER en JB : c'est word$( txt$, n, [sep$] )

Vois ce qu'on peux simplifier dans ton prog lors du chargement et déchargement des SPRITES par exemple : (tu peux donc retirer toutes les lignes avec une apostrophe devant...)

Code TEXT :
   [st]
    WindowWidth = 700
    WindowHeight = 600
    UpperLeftX=int((DisplayWidth-WindowWidth)/2)
    UpperLeftY=int((DisplayHeight-WindowHeight)/2)
    nomainwin
 
    loadbmp "JB", "bmp\pr1.bmp"
    timer 100, [refresh]
    open "2011-2012 / Game creat by Alexandre Lomuto All copyright reserved*" for graphics_nsb_nf as #3b
    timer 4000, [st2]
    #3b, "trapclose [quit]"
    #3b, "background JB"
    #3b, "drawsprites"
    wait
 
    [st2]
    unloadbmp "JB"
    playwave "music\5.wav", loop
    timer 100, [refresh]
    loadbmp "JB", "bmp\2.bmp"
    timer 3000, [st4]
    #3b, "trapclose [quit]"
    #3b, "background JB"
    #3b, "drawsprites"
    wait
 
    [st4]
    playwave ""
    playwave "music\3.wav", loop
    unloadbmp "JB"
    timer 100, [refresh]
    loadbmp "JB", "bmp\3.bmp"
    timer 500, [st5]
    #3b, "trapclose [quit]"
    #3b, "background JB"
    #3b, "drawsprites"
    wait
 
    [st5]
    unloadbmp "JB"
    timer 100, [refresh]
    loadbmp "JB", "bmp\2.bmp"
    timer 400, [st6]
    #3b, "trapclose [quit]"
    #3b, "background JB"
    #3b, "drawsprites"
    wait
 
    [st6]
    playwave "music\music1.wav", loop
    unloadbmp "JB"
    close #3b
    timer 400, [start]
    wait
 
    [start]
    loadbmp "JB", "bmp\donjon.bmp"
    bmpbutton #3b, "bmp\jouer.bmp", [button1Click], LR, 350,210
    bmpbutton #3b, "bmp\charger.bmp", [charger], LR, 150,45
    bmpbutton #3b, "bmp\Help.bmp", [aide], LR, 290,45
    bmpbutton #3b, "bmp\Exit.bmp", [quit], LR, 10,45
    open "2011-2012 / Game creat by Alexandre Lomuto All copyright reserved*" for graphics_nsb_nf as #3b
    timer 100, [refresh]
    #3b, "trapclose [quit]"
    #3b, "background JB"
    #3b, "drawsprites"
    wait
 
    [charger]
    wait
 
    [button1Click]
    unloadbmp "JB"
    close #3b
    goto[button1Clickbis]
    [retour1]
    unloadbmp "JB"
    close #3b
    goto[button1Clickbis]
    [retour2]
    unloadbmp "JB"
    close #3b
    goto[button3Clickbis2]
    [retouraide]
    unloadbmp "JB"
    close #3b
    goto[start]
 
    [button1Clickbis]
    WindowWidth = 600
    WindowHeight = 600
 
    bmpbutton #3b, "bmp\bouttonhumain1.bmp", [button3Click], LR, 350, 240
    bmpbutton #3b, "bmp\bouttonelfe1.bmp", [I2], LR, 220, 240
    bmpbutton #3b, "bmp\bouttonnain1.bmp", [I2], LR,90, 240
    bmpbutton #3b, "bmp\bouttonogre1.bmp", [I2], LR, 290, 200
    bmpbutton #3b, "bmp\bouttonorcs1.bmp", [I2], LR, 150, 200
    timer 100, [refresh]
 
    loadbmp "JB", "bmp\heroes.bmp"
    open "2011-2012 / Game creat by Alexandre Lomuto All copyright reserved*" for graphics_nsb_nf as #3b
    #3b, "background JB"
    #3b, "trapclose [quit]"
    #3b, "drawsprites"
    wait
            [button3Click]
            unloadbmp "JB"
            close #3b
            goto[button3Clickbis2]
 
            [button3Clickbis1]
            close #3b
            goto[button3Clickbis2]
 
    [button3Clickbis2]
    WindowWidth = 630
    WindowHeight = 650
 
    bmpbutton #3b, "bmp\retour.bmp", [retour1], LR, 410, -2
    bmpbutton #3b, "bmp\util.bmp", [page2], LR, 155, -2
    bmpbutton #3b, "bmp\util2.bmp", [page3], LR, 82, -2
    bmpbutton #3b, "bmp\util3.bmp", [jeuhumain], LR, 254, 2
    bmpbutton #3b, "bmp\util1.bmp", [retour2], LR, 337, -2
    loadbmp "JB", "bmp\humain.bmp"
    timer 100, [refresh]
    open "2011-2012 / Game creat by Alexandre Lomuto All copyright reserved*" for graphics_nsb_nf as #3b
    #3b, "background JB"
    #3b, "trapclose [quit]"
    #3b, "drawsprites"
    wait
 
    [page2]
    unloadbmp "JB"
    loadbmp "JB", "bmp\humain2.bmp"
    #3b, "background JB"
    #3b, "drawsprites"
    wait
 
    [page3]
    unloadbmp "JB"
    loadbmp "JB", "bmp\humain3.bmp"
    #3b, "background JB"
    #3b, "drawsprites"
    wait
 
    [jeuhumain]
    playwave ""
    playwave "music\music12.wav", loop
    unloadbmp "JB"
    var = 1
    map1 = 1
    fr = 1
    close #3b
    goto [jeuhumain1]
 
    [map1]
    unloadbmp "JB"
    close #3b
 
    goto[jeuhumain1]
    wait
 
    [jeuhumain1]
    WindowWidth = 1020
    WindowHeight = 590
 
 
    loadbmp"JB", "bmp\maphum1.bmp"
    sprites$ = "minimap1 perso1d perso2d perso3d perso4d perso1s perso2s perso3s perso4s perso1q perso2q "+_
               "perso3q perso4q perso1z perso2z perso3z perso4z curseur p1 p1b p1c d1 d2 d3 hb1"
    for s = 1 to 25
        loadbmp word$(sprites$,s), "bmp\"+word$(sprites$,s)+".bmp"
    next
 
   ' loadbmp"minimap1", "bmp\minimap1.bmp"
   ' loadbmp"perso1d", "bmp\perso1d.bmp"
   ' loadbmp"perso2d", "bmp\perso2d.bmp"
   ' loadbmp"perso3d", "bmp\perso3d.bmp"
   ' loadbmp"perso4d", "bmp\perso4d.bmp"
   ' loadbmp"perso1s", "bmp\perso1s.bmp"
   ' loadbmp"perso2s", "bmp\perso2s.bmp"
   ' loadbmp"perso3s", "bmp\perso3s.bmp"
   ' loadbmp"perso4s", "bmp\perso4s.bmp"
   ' loadbmp"perso1q", "bmp\perso1q.bmp"
   ' loadbmp"perso2q", "bmp\perso2q.bmp"
   ' loadbmp"perso3q", "bmp\perso3q.bmp"
   ' loadbmp"perso4q", "bmp\perso4q.bmp"
   ' loadbmp"perso1z", "bmp\perso1z.bmp"
   ' loadbmp"perso2z", "bmp\perso2z.bmp"
   ' loadbmp"perso3z", "bmp\perso3z.bmp"
   ' loadbmp"perso4z", "bmp\perso4z.bmp"
   ' loadbmp"curseur", "bmp\curseur.bmp"
   ' loadbmp"p1", "bmp\p1.bmp"
   ' loadbmp"p1b", "bmp\p1b.bmp"
   ' loadbmp"p1c", "bmp\p1c.bmp"
   ' loadbmp"d1", "bmp\d1.bmp"
   ' loadbmp"d2", "bmp\d2.bmp"
   ' loadbmp"d3", "bmp\d3.bmp"
   ' loadbmp"hb1", "bmp\hb1.bmp"
    bmpbutton #3b, "bmp\inventaire.bmp", [inventaire], LR, 907, 462
    open "Le Donjon De Sheidra Map N°1" for graphics_nsb_nf as #3b
 
    timer 1000, [for]
    #3b,"background JB"
    #3b,"trapclose [quit]"
    #3b,"addsprite perso1z perso1z"
    #3b,"addsprite perso1s perso1s"
    #3b,"addsprite perso1d perso1d"
    #3b,"addsprite perso1q perso1q"
    #3b,"addsprite hb1 hb1"
    #3b,"addsprite p1 p1"
    #3b,"addsprite d1 d1"
    #3b,"addsprite d2 d2"
    #3b,"addsprite d3 d3"
    #3b,"addsprite minimap1 minimap1"
    #3b,"addsprite curseur curseur"
    perso1sx=180:perso1sy=30
    hb1x=-10:hb1y=408
    d1x=600:d1y=0
    d2x=600:d2y=0
    d3x=600:d3y=0
    p1x=620:p1y=0
    minimap1x=16:minimap1y=435
    curseurx=57:curseury=440
    p1x=615:p1y=118
    #3b,"spritexy perso1s ";perso1sx;" ";perso1sy
    #3b,"spritexy hb1 ";hb1x;" ";hb1y
    #3b,"spritexy d1 ";d1x;" ";d1y
    #3b,"spritexy d2 ";d2x;" ";d2y
    #3b,"spritexy d3 ";d3x;" ";d3y
    #3b,"spritexy p1 ";p1x;" ";p1y
    #3b,"spritexy minimap1 ";minimap1x;" ";minimap1y
    #3b,"spritexy curseur ";curseurx;" ";curseury
    #3b,"spritexy p1 ";p1x;" ";p1y
    #3b,"SpriteVisible d1 off"
    #3b,"SpriteVisible d2 off"
    #3b,"SpriteVisible d3 off"
    perso1zx=perso1sx : perso1zy=perso1sy : perso1qx=perso1sx : perso1qy=perso1sy : perso1dx=perso1sx : perso1dy=perso1sy
    #3b,"setfocus"
    #3b,"when characterInput [control_toucheb]"
    #3b,"drawsprites"
    wait
 
    [for]
    if fr= 1 then goto[fore]
    wait
 
    [fore]
    #3b,"SpriteVisible p1 off"
    #3b,"addsprite p1b p1b"
    #3b,"SpriteVisible p1b on"
    p1bx=p1x:p1by=p1y
    #3b,"spritexy p1b ";p1bx;" ";p1by
    #3b,"drawsprites"
    timer 1000, [for1]
    wait
 
    [for1]
    #3b,"SpriteVisible p1b off"
    #3b,"addsprite p1c p1c"
    #3b,"SpriteVisible p1c on"
    p1cx=p1bx:p1cy=p1by
    #3b,"spritexy p1c ";p1cx;" ";p1cy
    #3b,"drawsprites"
    timer 100, [for2]
    wait
 
    [for2]
    #3b,"SpriteVisible p1c off"
    #3b,"addsprite p1 p1"
    #3b,"SpriteVisible p1 on"
    p1x=p1cx:p1y=p1cy
    #3b,"spritexy p1 ";p1x;" ";p1y
    #3b,"drawsprites"
    timer 500, [for]
    wait
 
 
    [refresh]
    #3b,"drawsprites"
    wait
 
    [inventaire]
    WindowWidth = 780
    WindowHeight = 425
 
    UpperLeftX=int((DisplayWidth-WindowWidth)/1.8)
    UpperLeftY=int((DisplayHeight-WindowHeight)/2.8)
    bmpbutton #3.I2, "bmp\yxa3.bmp", [I2], UL, 0, 0
    open "MENU : Inventaire" for window_nf as #3
    print #3.I2, "disable"
    #3,"trapclose [quit2]"
    wait
 
    [I1]
    wait
    [I2]
    wait
 
 
        [control_toucheb]
        if asc(right$(Inkey$,1))= _VK_LEFT then gosub [persoq]
        if asc(right$(Inkey$,1))= _VK_RIGHT then gosub [persod]
        if asc(right$(Inkey$,1))= _VK_UP then gosub [persoz]
        if asc(right$(Inkey$,1))= _VK_DOWN then gosub [persos]
        if perso1qx<20 then perso1qx=20
        if perso1dx>990 then perso1dx=990
        if perso1zy<10 then perso1zy=10
        if perso1sy>390 then perso1sy=390
        'p1
        if perso1zx >610 and perso1zy=164 then perso1zy=166
        if perso1zx >670 and perso1zy=166 then perso1zy=162
        if perso1dy <166 and perso1dx=610 then perso1dx=608
        if perso1dy <100 and perso1dx=608 then perso1dx=612
        if perso1qy <166 and perso1qx=670 then perso1qx=672
        if perso1qy <100 and perso1qx=672 then perso1qx=668
        if perso1sx >606 and perso1sy=100 then perso1sy=98
        if perso1sx >670 and perso1sy=98 then perso1sy=102
        'lm
        if perso1qy <050 and perso1qx=120 then perso1qx=122
        if perso1sx >140 and perso1sy=030 then perso1sy=032
        if perso1sx <140 and perso1sy=050 then perso1sy=048
        if perso1qy <050 and perso1qx=140 then perso1qx=138
        if perso1qy >140 and perso1qx=130 then perso1qx=132
        if perso1qy <300 and perso1qx=140 then perso1qx=142
        if perso1sx <160 and perso1sy=306 then perso1sy=304
        if perso1qy <300 and perso1qx=160 then perso1qx=158
        if perso1qy >300 and perso1qx=160 then perso1qx=162
        if perso1qy <350 and perso1qx=160 then perso1qx=162
        if perso1sx <230 and perso1sy=344 then perso1sy=342
        if perso1qy >350 and perso1qx=232 then perso1qx=234
        if perso1qx >230 and perso1qy=370 then perso1qy=368
        if perso1dy >360 and perso1dx=290 then perso1dx=288
        if perso1sx >290 and perso1sy=360 then perso1sy=358
        if perso1sx >360 and perso1sy=358 then perso1sy=362
        if perso1qy >360 and perso1qx=354 then perso1qx=356
        if perso1dy <055 and perso1dx=272 then perso1dx=270
        if perso1dy >050 and perso1dx=270 then perso1dx=274
        if perso1dy <050 and perso1dx=242 then perso1dx=246
        if perso1sx >240 and perso1sy=050 then perso1sy=048
        if perso1dy <100 and perso1dx=244 then perso1dx=242
        if perso1dy >100 and perso1dx=240 then perso1dx=244
        if perso1zx >242 and perso1zy=106 then perso1zy=108
        if perso1zx >342 and perso1zy=108 then perso1zy=104
        if perso1dy >100 and perso1dx=306 then perso1dx=304
        if perso1dy >180 and perso1dx=304 then perso1dx=306
        if perso1zx <330 and perso1zy=180 then perso1zy=178
        if perso1zx >330 and perso1zy=182 then perso1zy=184
        if perso1zx >500 and perso1zy=184 then perso1zy=180
        if perso1dy >180 and perso1dx=380 then perso1dx=378
        if perso1dy >240 and perso1dx=378 then perso1dx=382
        if perso1zx >380 and perso1zy=240 then perso1zy=242
        if perso1zx >560 and perso1zy=242 then perso1zy=238
        if perso1qy <240 and perso1qx=556 then perso1qx=558
        if perso1zx >540 and perso1zy=086 then perso1zy=088
        if perso1dy <146 and perso1dx=708 then perso1dx=706
        if perso1zx >708 and perso1zy=146 then perso1zy=148
        if perso1dy <200 and perso1dx=780 then perso1dx=778
        if perso1zx >780 and perso1zy=190 then perso1zy=192
        if perso1dy >190 and perso1dx=830 then perso1dx=828
        if perso1sx >720 and perso1sy=280 then perso1sy=278
        if perso1dy >280 and perso1dx=720 then perso1dx=718
        if perso1sx >640 and perso1sy=350 then perso1sy=348
        if perso1qy >326 and perso1qx=640 then perso1qx=642
        if perso1sx >570 and perso1sy=326 then perso1sy=324
        if perso1sx >640 and perso1sy=324 then perso1sy=328
        if perso1dy >324 and perso1dx=570 then perso1dx=568
        if perso1sx >520 and perso1sy=370 then perso1sy=368
        if perso1dy >370 and perso1dx=520 then perso1dx=518
        'q1
        if perso1zx >510 and perso1zy=170 and var = 1 then goto[q1]
        if perso1zx <310 and perso1zy=20 and map1 = 2 then goto[map2]
        if perso1zx <310 and perso1zy <50 then fr= 2
        #3b,"drawsprites"
        wait
 
        [q1]
        var = 2
        map1 = 2
        #3b,"SpriteVisible d1 on"
        #3b,"drawsprites"
        timer 5000, [q2]
        wait
 
        [q2]
        #3b,"SpriteVisible d1 off"
        #3b,"SpriteVisible d2 on"
        #3b,"drawsprites"
        timer 5000, [q3]
        wait
 
        [q3]
        #3b,"SpriteVisible d2 off"
        #3b,"SpriteVisible d3 on"
        #3b,"drawsprites"
        timer 5000, [q4]
        wait
 
        [q4]
        #3b,"SpriteVisible d3 off"
        #3b,"drawsprites"
        timer 100, [for]
        wait
 
    [map2]
  '  sprites$ = "minimap1 perso1d perso2d perso3d perso4d perso1s perso2s perso3s perso4s perso1q perso2q "+_
  '             "perso3q perso4q perso1z perso2z perso3z perso4z curseur p1 p1b p1c d1 d2 d3 hb1"
    for s = 1 to 24
        unloadbmp word$(sprites$,s)
    next
    unloadbmp "JB"
 
   ' unloadbmp "d1"
   ' unloadbmp "d2"
   ' unloadbmp "d3"
   ' unloadbmp "p1"
   ' unloadbmp "p1b"
   ' unloadbmp "p1c"
   ' unloadbmp "minimap1"
   ' unloadbmp "perso1d"
   ' unloadbmp "perso2d"
   ' unloadbmp "perso3d"
   ' unloadbmp "perso4d"
   ' unloadbmp "perso1s"
   ' unloadbmp "perso2s"
   ' unloadbmp "perso3s"
   ' unloadbmp "perso4s"
   ' unloadbmp "perso1q"
   ' unloadbmp "perso2q"
   ' unloadbmp "perso3q"
   ' unloadbmp "perso4q"
   ' unloadbmp "perso1z"
   ' unloadbmp "perso2z"
   ' unloadbmp "perso3z"
   ' unloadbmp "perso4z"
    close #3b
    goto[jeuhumain2]
    wait
 
    [jeuhumain2]
    WindowWidth = 1020
    WindowHeight = 590
    var2 = 1
    map2 = 1
 
    sprites$ = "minimap2 perso1d perso2d perso3d perso4d perso1s perso2s perso3s perso4s perso1q perso2q "+_
               "perso3q perso4q perso1z perso2z perso3z perso4z curseur hb1"
    for s = 1 to 19
        loadbmp word$(sprites$,s), "bmp\"+word$(sprites$,s)+".bmp"
    next
    loadbmp"JB", "bmp\maphum2.bmp"
   ' loadbmp"minimap2", "bmp\minimap2.bmp"
   ' loadbmp"perso1d", "bmp\perso1d.bmp"
   ' loadbmp"perso2d", "bmp\perso2d.bmp"
   ' loadbmp"perso3d", "bmp\perso3d.bmp"
   ' loadbmp"perso4d", "bmp\perso4d.bmp"
   ' loadbmp"perso1s", "bmp\perso1s.bmp"
   ' loadbmp"perso2s", "bmp\perso2s.bmp"
   ' loadbmp"perso3s", "bmp\perso3s.bmp"
   ' loadbmp"perso4s", "bmp\perso4s.bmp"
   ' loadbmp"perso1q", "bmp\perso1q.bmp"
   ' loadbmp"perso2q", "bmp\perso2q.bmp"
   ' loadbmp"perso3q", "bmp\perso3q.bmp"
   ' loadbmp"perso4q", "bmp\perso4q.bmp"
   ' loadbmp"perso1z", "bmp\perso1z.bmp"
   ' loadbmp"perso2z", "bmp\perso2z.bmp"
   ' loadbmp"perso3z", "bmp\perso3z.bmp"
   ' loadbmp"perso4z", "bmp\perso4z.bmp"
   ' loadbmp"curseur", "bmp\curseur.bmp"
   ' loadbmp"hb1", "bmp\hb1.bmp"
    bmpbutton #3b, "bmp\inventaire.bmp", [inventaire], LR, 907, 462
    open "Le Donjon De Sheidra Map N°2" for graphics_nsb_nf as #3b
 
    timer 10000, [refresh]
    #3b,"background JB"
    #3b,"trapclose [quit]"
    #3b,"addsprite perso1z perso1z"
    #3b,"addsprite perso1s perso1s"
    #3b,"addsprite perso1d perso1d"
    #3b,"addsprite perso1q perso1q"
    #3b,"addsprite hb1 hb1"
    #3b,"addsprite minimap2 minimap2"
    #3b,"addsprite curseur curseur"
    perso1zx=200:perso1zy=370
    hb1x=-10:hb1y=408
    minimap2x=16:minimap2y=435
    curseurx=57:curseury=540
    #3b,"spritexy perso1z ";perso1zx;" ";perso1zy
    #3b,"spritexy hb1 ";hb1x;" ";hb1y
    #3b,"spritexy minimap2 ";minimap2x;" ";minimap2y
    #3b,"spritexy curseur ";curseurx;" ";curseury
    perso1sx=perso1zx : perso1sy=perso1zy : perso1qx=perso1zx : perso1qy=perso1zy : perso1dx=perso1zx : perso1dy=perso1zy
    #3b,"setfocus"
    #3b,"when characterInput [control_touchec]"
    #3b,"drawsprites"
    wait
            [control_touchec]
            if asc(right$(Inkey$,1))= _VK_LEFT then gosub [persoq]
            if asc(right$(Inkey$,1))= _VK_RIGHT then gosub [persod]
            if asc(right$(Inkey$,1))= _VK_UP then gosub [persoz]
            if asc(right$(Inkey$,1))= _VK_DOWN then gosub [persos]
 
            if perso1qx<20 then perso1qx=20
            if perso1dx>990 then perso1dx=990
            if perso1zy<10 then perso1zy=10
            if perso1sy>390 then perso1sy=390
            if perso1sx <300 and perso1sy=380 then goto[map1]
            #3b,"drawsprites"
            wait
 
            [persod]
            #3b,"addsprite perso1d perso2d perso3d perso4d"
            #3b,"SpriteVisible perso1s perso1d perso1q perso1z on"
            #3b,"SpriteVisible perso1s off"
            #3b,"SpriteVisible perso1q off"
            #3b,"SpriteVisible perso1z off"
            #3b,"SpriteVisible perso1d on"
            perso1qx=perso1dx
            perso1sx=perso1dx
            perso1zx=perso1dx
            perso1dx=perso1dx+2
            curseurx=curseurx+.3
            #3b,"spritexy perso1d ";perso1dx;" ";perso1dy
            #3b,"spritexy curseur ";curseurx;" ";curseury
            #3b, "cyclesprite perso1d 1"
            #3b,"drawsprites"
            return
 
            [persoq]
            #3b,"addsprite perso1q perso2q perso3q perso4q"
            #3b,"SpriteVisible perso1d perso1s perso1z perso1q on"
            #3b,"SpriteVisible perso1s off"
            #3b,"SpriteVisible perso1d off"
            #3b,"SpriteVisible perso1z off"
            #3b,"SpriteVisible perso1q on"
            perso1dx=perso1qx
            perso1sx=perso1qx
            perso1zx=perso1qx
            perso1qx=perso1qx-2
            curseurx=curseurx-.3
            #3b,"spritexy perso1q ";perso1qx;" ";perso1qy
            #3b,"spritexy curseur ";curseurx;" ";curseury
            #3b, "cyclesprite perso1q 1"
            #3b,"drawsprites"
            return
 
            [persos]
            #3b,"addsprite perso1s perso2s perso3s perso4s"
            #3b,"SpriteVisible perso1d perso1z perso1q perso1s on"
            #3b,"SpriteVisible perso1q off"
            #3b,"SpriteVisible perso1d off"
            #3b,"SpriteVisible perso1z off"
            #3b,"SpriteVisible perso1s on"
            perso1dy=perso1sy
            perso1zy=perso1sy
            perso1qy=perso1sy
            perso1sy=perso1sy+2
            curseury=curseury+.4
            #3b,"spritexy perso1s ";perso1sx;" ";perso1sy
            #3b,"spritexy curseur ";curseurx;" ";curseury
            #3b, "cyclesprite perso1s 1"
            #3b,"drawsprites"
            return
 
            [persoz]
            #3b,"addsprite perso1z perso2z perso3z perso4z"
            #3b,"SpriteVisible perso1d perso1z perso1q perso1s on"
            #3b,"SpriteVisible perso1q off"
            #3b,"SpriteVisible perso1d off"
            #3b,"SpriteVisible perso1s off"
            #3b,"SpriteVisible perso1z on"
            perso1dy=perso1zy
            perso1qy=perso1zy
            perso1sy=perso1zy
            perso1zy=perso1zy-2
            curseury=curseury-.4
            #3b,"spritexy perso1z ";perso1zx;" ";perso1zy
            #3b,"spritexy curseur ";curseurx;" ";curseury
            #3b, "cyclesprite perso1z 1"
            #3b,"drawsprites"
            return
 
    [quit]
    confirm "Voulez vous Quittez le jeu ?"; quit$
    if quit$ = "no" then wait
    playwave ""
    close #3b
    end
 
    [quit2]
    close #3
    timer 100, [for]
    wait
 
 
    [aide]
    close#3b
    timer 500, [refresh]
    loadbmp "aide", "bmp\aide.bmp"
    menu #3b, "&Retour", "&Revenir au Menu Principal", [retouraide]
    Open "2011-2012 / Game creat by Alexandre Lomuto All copyright reserved*" for graphics_nsb_nf As #3b
    #3b "TrapClose [quit]"
    #3b, "background aide"
    #3b, "drawsprites"
    wait
 


Ce que te propose Jagang est absolument ce qu'il te faudrai suivre (à propos des tableaux) afin de te débarrasser de tous ces "if" pour contrôler les personnage, mais je comprend que cela te nécessite une grosse refonte de ton programme...

Quant à la jouabilité, il serait vraiment simple à programmer de pouvoir déplacer le personnage uniquement à la souris... éventuellement un clic sur le personnage s'il y en a plusieurs, puis un clic vers une destination possible, et hop, il y va...!

Bon courage pour la suite.
Ne baisse pas les bras.

Je trouve moi aussi que ce forum n'a pas beaucoup de succès... les français ne connaissent pas JB...;)



Edité par cassiope01 Le 13/06/2011 à 13h28
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 13/06/2011 à 12h27

Administrateur

Groupe: Administrateur

Inscrit le: 25/09/2010
Messages: 362
Ce n'est pas vraiment simple de diriger un personnage à la sourie, il faut dans ce cas implémenter un algo de pathfinding. BlackTemplar et d'autre en ont fait un en LB. Ils sont sur le forum partie Open Source. Mais ce n'est actuellement pas une priorité je pense.

Cordialement
Jagang
____________________
J'ai toujours raison ! Sauf quand j'ai tort ...

Web    
Le 13/06/2011 à 12h56

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
C'est pour ça que j'ai écrit "destination POSSIBLE" : dans un premier temps, le personnage peut s'arrêter dès qu'il rencontre un obstacle... il suffit alors de cliquer à nouveau vers une direction qui fera éviter l'obstacle et ainsi de suite... c'est beaucoup plus simple à programmer, et toujours mieux que de garder le doigt en permanence sur les touches...

Qu'en pense l'auteur ? hello atomose !

L'algorythme "A Start" en JB est un pathfinder Jagang, nous avons déjà échangé la dessus tout les 2 ;) ...



Edité par cassiope01 Le 13/06/2011 à 12h59
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 13/06/2011 à 13h21

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 437
hi ! désolé je viens de me réveiller a 13h.... XD
merci beaucoup pour ton aide cassiope01 je v mettre t ligne et corriger les " " par "" ^^ !
pour ce qui est de la refonte avec le tableau j'ai beau regarder ce que vous m'avez dit je ne sais pas d'ou commencer =( il ne faut pas oublier que c'est mon premier programme JB ^^ je n'est aucune expérience !
question : le tableau est t-il indispensable ? mes limites marches très bien non ?

je vais faire les modifications et je vous poste la 1.9 demain ou après demain ( il y a pas mal de modification dans la 1.9 avec de nouvelles images et de nouvelles options ^^)

En tout cas merci a vous ! si un jour ce projet arrive a son terme ça sera bien grâce a vous ;)



pour le "run" voici la commande qui ne marche pas :

run "C:/ProgramFiles/Windows NT/Accessories/wordpad.exe"
ou
run "C:\ProgramFiles\Windows NT\Accessories\wordpad.exe"

même avec ce que vous m'avez dit ça ne marche toujours pas ^^....






Edité par atomose Le 13/06/2011 à 13h43
____________________
Yo !

MSN Web    
Le 13/06/2011 à 13h50

Administrateur

Groupe: Administrateur

Inscrit le: 25/09/2010
Messages: 362
Déjà, as-tu chargé ton tableau de collision ?
Il faut dans un premier temps faire ça (au niveau où tu charge ton niveau).
Ensuite, on verra.

Casiope : Je parlait bien de A*, par contre, oui, ton idée semble pas mal, mais laissons déjà Atomose mettre en place le système de collision.

Cordialement
Jagang
____________________
J'ai toujours raison ! Sauf quand j'ai tort ...

Web    
Le 13/06/2011 à 13h51

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Eh ben Atomose ! tu subis le "JetLag" ou bien :lol

Oui, oui, elles fonctionnent bien tes limites (sauf dans la 2ème scène), mais quel boulot de toutes les écrire une par une dans ton programme...!

Mais tu as raison : vas à ton rythme... :siffle

Par contre, je te propose d'utiliser quelques minutes mon programme ici PathFinder_AStar.bas

Tu dessines des formes en gardant le clic gauche appuyé, et ça mets à 1 les cases qui seront "pleines" (en cliquant sur "Del" en bas à gauche tu les remets à 0) , chaque case fait partie d'une seule variable tableau déclarée à 2 dimensions (x,y)...
Imagines que tu puisse "dessiner" et donc écrire dans une telle variable tableau, toutes les limites d'une même scène de ton jeu !

Mon programme n'est pas fait pour ça à l'origine. Il est fait pour trouver TOUJOURS le chemin le plus court (s'il y en a un !) entre 2 points.

Certain utilisent aussi un simple fichier texte par image, où toutes les lignes sont des 0 et des 1 (les 1 sont les limites bien sûr) qui sont très facile à exploiter en JB. Il suffit de recharger chaque ligne du fichier texte en question dans une chaine de caractère ou une variable tableau, puis exploiter tout ça facilement avec les commandes adaptées de JB...

Petit conseil qui vaut ce qu'il vaut: Jagang à raison, pense à "commenter" ton code beaucoup plus, ça aide beaucoup à s'y retrouver...


Oulà !!!! ..\Windows NT\.. ton PC est sous quel OS ???



Edité par cassiope01 Le 13/06/2011 à 14h25
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 13/06/2011 à 14h22

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 437
OK merci =)
Je vais me mettre au tableau avec les collisions ^^ je vous passe donc la 1.9 aujourd'hui , la 2.0 si j'ai beaucoup de chance aura ce fameux système de case et quelques autres amélioration =) .

A noté que le "menu" n'est pas fini dans la 1.9 que je vous donne, c'est une maquette pour que je sache ou j'en suis ;) .
J'ai aussi refait pas mal d'images, corrigé certains bugs, amélioré le code avec ce que vous m'avez dit (music "", load-unloadbmp etc...). J'ai aussi vu que j'avais laissé une 20ène de vieille images non utilisés que j'ai donc retiré XD.

Ah et pour la map2, je n'est pas fait les limites donc c'est tout a fait normale que ça ne marche pas XD !

je suis sous w7, le chemin est bon ^^ c'est le NT qui pose problème ???

Voici le lien de téléchargement :

http://www.megaupload.com/?d=WJJI7KI3



Edité par atomose Le 13/06/2011 à 14h26
____________________
Yo !

MSN Web    
Le 13/06/2011 à 14h29

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
tu as oublié le lien... Ah ça y est, c'est ok.

La chance n'a rien à voir la dedans...! crois en toi petit scarabée :lol :lol :clap
Fais gaffe à l'entorse au neurône de si bon matin ! :siffle :lol :p

Je crois bien que JB a besoin d'une "adaptation" pour fonctionner correctement avec Win7, en particulier avec les chemins. Va voir sur le forum américain...



Edité par cassiope01 Le 13/06/2011 à 14h35
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 13/06/2011 à 14h44

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 437
Je vais voir ça tout de suite ^^

merci à tous ! :top
____________________
Yo !

MSN Web    
Le 13/06/2011 à 14h54

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
As-tu bien lu la section "Sprite Commands" dans l'aide de JB ?

Tu te rends compte que tu ajoutes un sprite à chaque fois que l'appui sur une touche est détectée, tu risque de remplir la RAM du PC à vitesse grand V et finir par avoir des pb... de ce côté là...
Il y a pourtant des fonctions de déplacement et d'animation des sprites déjà crées qui sont là pour ça !

J'ai eu une erreur dès que j'ai lancé la 1.9, mais je ne sais pas pourquoi : pas de pb la seconde fois...

Pas de variable tableau dans cette version ?

Le petit curseur doit être géré en même temps et de la même façon que le personnage que tu déplaces.

@+

COURAGE.

PS: peut-être pourrais-tu ne pas mettre les fichiers sons dans les versions suivantes... c'est du lourd ! :siffle



Edité par cassiope01 Le 13/06/2011 à 14h57
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 13/06/2011 à 15h12

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 437
hum je prend note ^^ !

Pour l'animation du personnage c'est mon problème majeur .... je n'arrive malheureusement pas a régler ce problème =( .
je vais aller voir le tutoriel en espérant y trouver de l'aide ( j'ai rien trouvé sur coolprog) .

si quelqu'un arrive a trouver une solution pour l'animation ce serai géniale !

merci a vous =) !

ps : je ne vous transmettrais plus les sons promis ^^ sauf changement .
____________________
Yo !

MSN Web    
Le 13/06/2011 à 16h30

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Voici un petit programme pour te montrer comment enregistrer les limtes en direct live dans une variable tableau... par exemple :

Code TEXT :
    nomainwin
 
    WindowWidth = 885
    WindowHeight = 540
    UpperLeftX=int((DisplayWidth-WindowWidth)/2)
    UpperLeftY=int((DisplayHeight-WindowHeight)/2)
 
    Global ncx, ncy, lc
 
    ncx = 59   'nbre de case en x
    ncy = 35   'nbre de case en y
    lc = 15    'dimension d'une case (carré)
 
    dim cas(ncx,ncy)    'déclaration de la variable tableau qui contiendra TOUTES les limites pour cette scène.
 
    loadbmp "JB", "bmp\maphum2.bmp"
    open "Le Donjon De Sheidra Map N°1" for graphics_nsb_nf as #3b
    #3b "trapclose [quit]"
 
    #3b "down"
    #3b "drawbmp JB"
   unloadbmp "JB"
    #3b "color darkgray"
    for x = 1 to ncx                          'dessin de la grille
        #3b "place ";x*lc;" 0"
        #3b "goto ";x*lc;" ";ncy*lc
    next
    for y = 1 to ncy
        #3b "place 0 ";y*lc
        #3b "goto ";ncx*lc;" ";y*lc
    next
    #3b "when leftButtonMove LeftButtonClick"       'clic gauche cliqué + mouvement de la souris
 
wait
 
sub LeftButtonClick handle$, MouseX, MouseY
    mx = int(MouseX / lc)+1
    my = int(MouseY / lc)+1
    if mx>1 and mx<ncx and my>1 and my<ncy then
       ' if cas(mx,my) = 0 then cas(mx,my) = 1 else cas(mx,my) = 0
        cas(mx,my) = 1                 '<------------------ c'est ici que la valeur de la case est mise à 1
        call drawcell mx, my, cas(mx,my)
    end if
end sub
 
sub drawcell xx, yy, v
    if v then #3b "backcolor blue"
    #3b "place ";(xx-1)*lc+2;" ";(yy-1)*lc+2
    #3b "boxfilled ";xx*lc-1;" ";yy*lc-1
    ' option d'affichage valeur des cases...
   ' #3b "color black"
   ' #3b "place ";(xx-1)*lc+lc/3;" ";(yy-1)*lc+2*(lc/3)+2
   ' #3b "|";v
end sub
 
[quit]
    close #3b
end
 


Tu imagines bien le GROS avantage que tu peux tirer du fait que les cases peuvent aussi avoir une autre valeur que 1 !!! :p

Pour le déplacement des sprites tu as SPRITEMOVEXY, SPRITEXY,etc... et pour l'animation tu as CYCLESPRITE, SPRITEIMAGE, etc... comme je te l'ai dit, recherche la section "Sprite Commands" dans l'aide...

@+

PS: petite idée en passant : les grosses images de texte sur fond noir de présentation (pr1.bmp et pr2.bmp), tu pourrais simplement le faire en JB... cela économise déjà 2 gros bmp inutiles à mon humble avis... ;)



Edité par cassiope01 Le 13/06/2011 à 17h15
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 13/06/2011 à 21h17

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 437
hum je vois pas comment passer de mon code a ce type de code c'est ça le problème....
même avec des exemples concret comme ceux-la je suis perdu !
entre votre tableau et mes limites il y a une grande différence, vous me donner des variables et des commandes alors que je ne sais même pas leurs significations o_O

Quelqu’un pourrai m'expliquer clairement comment procéder ? étape par étape svp j'ai les neurones en bouillie ces derniers temps =P
____________________
Yo !

MSN Web    
Le 14/06/2011 à 07h52

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
2h17 du matin... forcément que tu vois pas :lol

Si tu as les neurônes en bouillie pourquoi cherches-tu à t'en servir ???? :mat

Tu devrais essayer d'abord d'en reconstituer quelques uns, puis quand tu en auras reconstitué assez, il y a sur ce site des gars qui font un sacré boulot d'écriture d'un Tuto JB. ici Tuto LB

Je te suggère d'y jeter un oeil... article : "Des nouveautés sur les variables" par exemple.

Il y a quand même quelques commentaires explicites dans le bout de prog que j'ai écris pour toi...! :p

Il y a aussi 2 pages de l'aide de JB que j'ai choisi d'imprimer pour les avoir toujours sous la main :
- Graphics Commands
- Sprites Commands
- sans oublier les règles de FLUSH..
Je ne saurais trop te conseiller de les trouver et de faire de même et même les traduire pourquoi pas...! tu pourrais en faire profiter tout le monde par exemple ;) :p

J'ai remarqué un truc intéressant dans ton programme : tu n'utilise pas de Background pour les Sprites. La MAP est elle même un Sprite !!!
Je n'y avais jamais pensé, mais pourquoi pas...!
Par contre, d'après ce que je crois savoir, en JB, l'ordre de superposition des sprites est celui de leur déclaration. Il suffit de le savoir...!
Donc si tu avais déclaré le Sprite de la MAP en DERNIER, vu qu'elle prend toute la fenêtre, ben ça fonctionne mais tu n'aurais simplement pas pu voir les autres sprites puisqu'ils auraient été affichés en dessous...!!!
En tout cas tu n'est pas obligé d'ouvrir une nouvelle fenêtre pour chaque nouvelle MAP.... il te suffit de changer le Background, ou bien d'après ta technique, de supprimer, puis recréer tous les Sprites nécessaires dans le bon ordre... puis d'écrire un simple "drawsprites".

@+



Edité par cassiope01 Le 14/06/2011 à 07h55
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 14/06/2011 à 10h54

Administrateur

Groupe: Administrateur

Inscrit le: 25/09/2010
Messages: 362
Cassiope, c'est pas 2h17 mais 21h17 :p
De plus, si il est sous Seven, il doit avoir des problème avec la documentation, comme moi. Il y a des erreurs de compatibilité entre les versions du système de doc (.chm je suppose, ha non, c'est .hlp). Bref, Windows quoi ;)

Atomose, Cassiope a remarqué en effet que tu n'utilisais de background pour tes map. C'est un trot puisque comme ça, pour changer de map, tu as juste à changer de background, et pas besoin de recharger toute les sprites.

Bon, alors je vais t'expliquer comment faire le système de collision :
  • D'abord, tu charges un tableau contenant les cases pour savoir si on peut ou pas passer par là. Comme Cassiope le propose, ton fichier contenant les valeurs des cases peut-être de la forme :
    Citation:
    011001010101
    110101110101
    001010101011

    Tu peux ainsi faire des boucles imbriqées pour mettre les valeurs dans ton tableau. (la première boucle avec un line input et la seconde avec un mid$()) (pour line input, cf ici, la première partie, et pour mid$(), cf ici, vers la fin de la partie Utiliser une Fonction)
    Le chargement du tableau doit se faire en même temps que celui des images, pas la peine de le charger plusieurs fois, il ne change pas (et si il change, tu peux le faire dynamiquement dans le tableau)
  • Un fois ton tableau chargé, tout ce passe là où tu testes si le déplacement du personnage est possible. A chaque fois que le joueur va essayer de se déplacer, tu vas tester si la case dans laquelle il désir aller est libre.
    Pour cela, tu va crée une fonction, genre estLibre(posX,posY).
    Et à caque déplacement du joueur, tu vas faire :
    Code VB :
    if estLibre(posX + deplacementX, posY + deplacementY) then
        posX = posX + deplacementX
        posY = posY + deplacementY
    end if

    Ainsi, si la case est libre, le joueur se déplace, sinon, il ne bouge pas.


Voila, demande encore si tu ne comprends toujours pas, je me ferais un plaisir de te ré-expliquer en détail.
Par contre, n'attends pas un code tout près que je t'aurais fait (ou quelqu'un d'autre), sinon, tu ne progresseras pas (et en plus, j'ai la flemme :d )

Cordialement
Jagang

EDIT : Bon ba pour la doc, je sais pas...
Je télécharge le programme qui permet de lire les .hlp sur Seven sur le site de Microsoft, mais quand le le lance, il me dit que la mise-à-jour ne s'applique pas à mon système... Vive Windows !
____________________
J'ai toujours raison ! Sauf quand j'ai tort ...

Web    
Le 14/06/2011 à 11h28

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
OUPPSSSS !! autant pour moi Atomose... j'ai failli être mauvaise langue... :siffle :p

Globalement :+1 avec Jagang...

Par contre j'ai pas bien compris la phrase :
Citation:
C'est un trot puisque comme ça, pour changer de map, tu as juste à changer de background, et pas besoin de recharger toute les sprites.


...


Pour le hlp, je crois bien que tu trouveras tout sur le forum ricain et son wiki : ICI par exemple.



Edité par cassiope01 Le 14/06/2011 à 12h38
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie