MSX Village forum

La Place des Développeurs [En COURS] Moteur de Sprites Moteur de Sprites

igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/12/2015 à 12h08

Reprise du message précédent

Salut à tous :)

Je voudrais déplacer le héro horizontalement entre 9 et 225 inclus sans déborder d'un coté comme de l'autre.

Actuellement, ma commande pour aller à droite est:
888 'DROITE
890 PUTSPRITE0,(X,Y),8,A:ONSPRITEGOSUB1030:SPRITEON:'Si colision aller a 1030
892 X=X+VH:'Deplacement a droite
894 IFP=1THEN910:'Si pesanteur alors aller a 210 (chute)
896 RETURN

Ma commande pour aller à gauche est:
928 'GAUCHE
930 PUTSPRITE0,(X,Y),8,B:ONSPRITE GOSUB1070:'SPRITEON:Si colision aller a 1070
932 X=X-VH:'Deplacement a Gauche
933 '
934 IFP=1THEN910:'Si pesanteur aller a 210 (chute)
936 RETURN

Est il possible de limiter les déplacement de 9 à 225 sans utiliser la commande IF X=9THEN ou encore IF X=225THEN afin de ne pas alourdir encore le cycle?

Voici le listing complet:
Code TEXT :
 
0                           'SAVE"SPRMOT01.asc",A
1 '
2 'MOTEUR DE SPRITES V001
3 '
50 'Mode graphique
52 SCREEN 10,2
54 'VDP(24)=VDP(24)+212:'VDP Deplace verticalement la fenetre sur la VRAM
56 'VDP(9)=VDP(9)OR2:'VDP Desactive la Zone des sprites ???
58 SC=2:'VDP Vitesse de Scrolling Vertical
100 'HERO ****************************************
120 X=1+96+8:'HERO Position initiale Horizontale
122 Y=195-128-4:'HERO Position initiale Verticale
124 VM=16:'HERO Vitesse Montée 
126 VC=8:'HERO Vitesse Chutée
128 VS=16:'HERO Vitesse Sautée
130 VH=8:'HERO Vitesses Horizontale
132 SH=1:'HERO Empeche double Saut Haut
134 SD=1:'HERO Empeche double Saut Droite
136 SG=1:'HERO Empeche double Saut Gauche
138 P=1:'HERO Active pesanteur ???
140 UP=0:'HERO Active la pesanteur ???
142 RI=0:'HERO Desactive le passe muraille Droite
144 LE=0:'HERO Desactive le passe muraille Gauche
200 'SPRITES MOBILES ******************************************
202 XB=32+1:' ASCENCEUR Position initiale Horizontale
204 YB=40-1:'ASCENCEUR Position initiale Verticale
206 AS=0:' ASCENCEUR Adherence 1=Active / 0=Desactive
250 'SPRTIES DATAS des Patterns*************************
252 GOTO 1250
260 'SPRITES ATTRIBUTION DES PATTERN AUX VARIABLES*******
262 A=0:B=1:C=2:D=3:E=4
270 'SPRITES Tableau des Latitudes et Longitudes*********
272 '
282 D1=24:D2=56:D3=88:D4=120:D5=152:D6=184:D7=216  
284 DA=71:DB=71:DC=71:DD=71:DE=71:DF=71:DG=71
286 C1=24:C2=56:C3=88:C4=120:C5=152:C6=184:C7=216
288 CA=103:CB=103:CC=103:CD=103:CE=103:CF=103:CG=103
290 B1=24:B2=56:B3=88:B4=120:B5=152:B6=184:B7=216
292 BA=135:BB=135:BC=135:BD=135:BE=135:BF=135:BG=135
294 A1=24:A2=56:A3=88:A4=120:A5=152:A6=184:A7=216
296 AA=167:AB=167:AC=167:AD=167:AE=167:AF=167:AG=167
298 '
300 'SPRITE Tableau des Projections************************************************************************************************************************************
302 '
304 PUTSPRITE22,(D1,DA),0,A:PUTSPRITE23,(D2,DB),0,A:PUTSPRITE24,(D3,DC),0,A:PUTSPRITE25,(D4,DD),10,D:PUTSPRITE26,(D5,DE),2,C:PUTSPRITE27,(D6,DF),0,A:PUTSPRITE28,(D7,DG),0,A
306 PUTSPRITE15,(C1,CA),2,C:PUTSPRITE16,(C2,CB),0,A:PUTSPRITE17,(C3,CC),0,A:PUTSPRITE18,(C4,CD),10,D:PUTSPRITE19,(C5,CE),2,C:PUTSPRITE20,(C6,CF),0,A:PUTSPRITE21,(C7,CG),10,D
308 PUTSPRITE8,(B1,BA),2,C:PUTSPRITE9,(B2,BB),0,A:PUTSPRITE10,(B3,BC),7,B:PUTSPRITE11,(B4,BD),0,A:PUTSPRITE12,(B5,BE),0,A:PUTSPRITE13,(B6,BF),10,D:PUTSPRITE14,(B7,BG),4,A
310 PUTSPRITE1,(A1,AA),4,A:PUTSPRITE2,(A2,AB),4,A:PUTSPRITE3,(A3,AC),4,A:PUTSPRITE4,(A4,AD),4,A:PUTSPRITE5,(A5,AE),4,A:PUTSPRITE6,(A6,AF),4,A:PUTSPRITE7,(A7,AG),4,A
312 '
838 'SPRITES MOBILES Projections**********************
839 '
840 XB=XB+8AND255:'MOTEUR ASCENCEUR
841 IFAS=1THENX=XB:'ADHERENCE ASCENCEUR 1
843 PUTSPRITE29,(XB,YB),15,A:'ASCENCEUR 1
845 IFY>YB-14THENIFY<YBTHENIFX>XB-4THENIFX<XB+8THENAS=1:'????
847 '
850 'BOUCLE PRINCIPALE [SPRITES et BACKGROUND]
852 '
853 S=STICK(0):ONS+1GOSUB 860,870,880,890,860,860,860,930,940:'Renvoie selon Stick ZERO
854 GOTO838:'VDP(24)=VDP(24)-SCAND255:GOTO838:'RETURN
855 '
856 'Gestion des Mouvements
857 '
858 'STATIQUE
860 PUTSPRITE0,(X,Y),8,D:ONSPRITE GOSUB1000:SPRITEON:'Si colision aller a 1000
861 'IFRI=1THENP=1
862 'IFLE=1THENP=1
863 IFP=1THEN910:'Si pesanteur alors aller a ligne 210 (chute)
864 RETURN
867 'END
868 'SAUT HAUT
870 PUTSPRITE0,(X,Y),8,D:ONSPRITEGOSUB1010:SPRITEON:'Si colision aller a 1010
872 IFSH=5THEN910:'Si Saut boucle x fois alors aller a 210
873 IFUP=1THENY=Y+2:UP=0:AS=0:'Si saut utilise alors recalibrer Y
874 Y=Y-VS:SH=SH+1:P=1:'Saut Haut utilise! Pesanteur active
876 RETURN
877 'END
878 'SAUT DROITE
880 PUTSPRITE0,(X,Y),8,D:ONSPRITEGOSUB1020:SPRITEON:'Si colision aller a 1020
882 IFSD=3THEN910:'Si Saut Droite deja utilise alors aller a 210
883 IFUP=1THENY=Y+2:UP=0:AS=0:'Si saut utilise alors recalibrer Y
884 X=X+VS:Y=Y-VS:SD=SD+1:P=1:'Saut Droite utilise! Pesanteur active
886 RETURN
887 'END
888 'DROITE
890 PUTSPRITE0,(X,Y),8,A:ONSPRITEGOSUB1030:SPRITEON:'Si colision aller a 1030
892 X=X+VH:'Deplacement a droite
893 '
894 IFP=1THEN910:'Si pesanteur alors aller a 210 (chute)
896 RETURN
897 'END
898 'CHUTE A DROITE
900 PUTSPRITE0,(X,Y),8,D:ONSPRITEGOSUB1040:SPRITEON:'SI COLISION ALLER A 1040
902 X=X+VC:'Deplacement a Droite
903 IFUP=1THENY=Y+2:UP=0:'si saut utilise alors recalibrer Y
904 IFP=1THENY=Y+VC:'Si pesanteur alors chute de VC pixels
906 RETURN
907 'END
908 'CHUTE
910 PUTSPRITE0,(X,Y),8,D:ONSPRITE GOSUB1050:SPRITEON:'Si colision alors 1050
911 IFLE=1THENEL=EL+1:P=1:'Si RI actif alors Pesanteur Actif
912 IFEL=2THENX=X+1:LE=0:EL=0
913 IFRI=1THENRI=0:P=1:'Si RI actif alors Pesanteur Actif
914 IFUP=1THENY=Y+2:UP=0:'Si saut utilise alors recalibrer Y
915 IFP=1THENY=Y+VCAND255:'Si pesanteur alors chute de VC pixels
916 RETURN
917 'END
918 'CHUTE A GAUCHE
920 PUTSPRITE0,(X,Y),8,D:ONSPRITEGOSUB1060:SPRITEON:SI COLISION ALLER A 1060
922 X=X-16:'Deplacement a Gauche
923 IFUP=1THENY=Y+2:UP=0:SI SAUT UTILISE ALORS RECALIBRER Y
924 IFP=1THENY=Y+VC:'Si pesanteur alors chute de VC pixels
926 RETURN
927 'END
928 'GAUCHE
930 PUTSPRITE0,(X,Y),8,B:ONSPRITE GOSUB1070:'SPRITEON:Si colision aller a 1070
932 X=X-VH:'Deplacement a Gauche
933 '
934 IFP=1THEN910:'Si pesanteur aller a 210 (chute)
936 RETURN
937 'END
938 'SAUT GAUCHE
940 PUTSPRITE0,(X,Y),8,D:ONSPRITEGOSUB1080:SPRITEON:'Si colision aller a 1020
942 IFSG=3THEN910:'Si Saut Gauche deja utilise alors aller a 210
943 IFUP=1THENY=Y+2:UP=0:AS=0:'Si saut utilise alors recalibrer Y
944 X=X-VS:Y=Y-VS:SG=SG+1:P=1:'Saut Gauche utilisé! Pesanteur active
946 RETURN
998 'END
999 'COLISION STATIQUE
1000 P=0:SH=0:SD=0:SG=0
1001 SPRITEOFF
1002 IFRI=1THENP=1
1003 IFLE=1THENP=1
1004 IFUP=0THENY=Y-2:UP=1
1005 RETURN
1008 '
1009 'COLISION SAUT HAUT
1010 P=0:SH=0:SD=0:SG=0
1011 SPRITEOFF
1013 IFUP=0THENY=Y-2:UP=1
1014 RETURN
1018 '
1019 'COLISION SAUT DROITE
1020 P=0:SH=0:SD=0:SG=0
1021 SPRITEOFF
1023 IFUP=0THENY=Y-2:UP=1
1024 RETURN
1028 '
1029 'COLISION DROITE
1030 IFP=1THENRETURN
1031 P=1:SH=0:SD=0:SG=0:RI=1
1032 SPRITEOFF
1033 IFUP=0THENY=Y-2:UP=1
1034 RETURN
1038 '
1039 'COLISION CHUTE A DROITE
1040 P=0:SH=0:SD=0:SG=0
1041 SPRITEOFF
1043 IFUP=0THENY=Y-2:UP=1
1044 RETURN
1048 '
1049 'COLISION BAS
1050 P=0:SH=0:SD=0:SG=0
1051 'SPRITEOFF
1053 IFUP=0THENY=Y-2:UP=1
1054 RETURN
1058 '
1059 'COLISION CHUTE A GAUCHE
1060 P=0:SH=1:SD=0:SG=0
1061 SPRITEOFF
1063 IFUP=0THENY=Y-2:UP=1
1064 RETURN
1068 '
1069 'COLISION GAUCHE
1070 IFP=1THENRETURN
1071 P=1:SH=0:SD=0:SG=0:LE=1
1072 X=X-16-1:SPRITEOFF
1073 IFUP=0THENY=Y-2:UP=1
1074 RETURN
1078 '
1079 'COLISION SAUT GAUCHE
1080 P=0:SH=0:SD=0:SG=0
1081 SPRITEOFF
1083 IFUP=0THENY=Y-2:UP=1
1084 RETURN
1088 '
1200 DESSIN DES SPRITES
1201 '
1250 FOR I=1TO16:READA$:S$=S$+CHR$(VAL("&B"+LEFT$(A$,8))):NEXTI
1252 ' DESSIN DES SPRITES
1260 RESTORE 1301
1270 FORI=1TO16:READA$:S$=S$+CHR$(VAL("&B"+RIGHT$(A$,8))):NEXTI
1280 SPRITE$(0)=S$
1290 GOTO 1350
1301 DATA 0000000000000000
1302 DATA 0000000000000000
1303 DATA 0000000000000000
1304 DATA 0000000000000000
1305 DATA 0000000000000000
1306 DATA 0000000000000000
1307 DATA 0000000000000000
1308 DATA 0000000000000000
1309 DATA 1111111111111111
1310 DATA 1000000000000000
1311 DATA 0000000000000000
1312 DATA 0000000000000000
1313 DATA 0000000000000000
1314 DATA 0000000000000000
1315 DATA 0000000000000000
1316 DATA 0000000000000000
1350 FORJB=1TO16:READA$:T$=T$+CHR$(VAL("&B"+LEFT$(A$,8))):NEXTJB
1360 RESTORE 1401
1370 FORJB=1TO16:READA$:T$=T$+CHR$(VAL("&B"+RIGHT$(A$,8))):NEXTJB
1380 SPRITE$(1)=T$
1390 GOTO 1450
1401 DATA 0000000000000000
1402 DATA 0000000000000000
1403 DATA 0000000000000000
1404 DATA 0000000000000000
1405 DATA 0000000000000000
1406 DATA 0000000000000000
1407 DATA 0000000000000000
1408 DATA 1000000001000000
1409 DATA 1111111111111111
1410 DATA 0000000000000001
1411 DATA 0000000000000000
1412 DATA 0000000000000000
1413 DATA 0000000000000000
1414 DATA 0000000000000000
1415 DATA 0000000000000000
1416 DATA 0000000000000000
1450 FORK=1TO16:READA$:U$=U$+CHR$(VAL("&B"+LEFT$(A$,8))):NEXTK
1460 RESTORE 1501
1470 FORK=1TO16:READA$:U$=U$+CHR$(VAL("&B"+RIGHT$(A$,8))):NEXTK
1480 SPRITE$(2)=U$
1490 GOTO 1550
1501 DATA 0000000000000000
1502 DATA 0000000000000000
1503 DATA 0000000000000000
1504 DATA 0000000000000000
1505 DATA 0000000000000000
1506 DATA 0000000000000000
1507 DATA 0000000000000000
1508 DATA 0000000001000000
1509 DATA 1111111111111111
1510 DATA 0000000000000000
1511 DATA 0000000000000000
1512 DATA 0000000000000000
1513 DATA 0000000000000000
1514 DATA 0000000000000000
1515 DATA 0000000000000000
1516 DATA 0000000000000000
1550 FORL=1TO16:READA$:V$=V$+CHR$(VAL("&B"+LEFT$(A$,8))):NEXTL
1560 RESTORE 1601
1570 FORL=1TO16:READA$:V$=V$+CHR$(VAL("&B"+RIGHT$(A$,8))):NEXTL
1580 SPRITE$(3)=V$
1590 GOTO 260
1601 DATA 0000000000000000
1602 DATA 0000000000000000
1603 DATA 0000000000000000
1604 DATA 0000000000000000
1605 DATA 0000000000000000
1606 DATA 0000000000000000
1607 DATA 0000000000000000
1608 DATA 1000000000000000
1609 DATA 1111111111111111
1610 DATA 0000000000000000
1611 DATA 0000000000000000
1612 DATA 0000000000000000
1613 DATA 0000000000000000
1614 DATA 0000000000000000
1615 DATA 0000000000000000
1616 DATA 0000000000000000

 
Edité par igal Le 11/12/2015 à 12h10


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5485

Le 11/12/2015 à 15h24
oui tu peux...

D'abord mettre les coordonnées X de ton sprite, qui sont possibles dans un Tableau


Code TEXT :
 
100 DIM PX(216):for I=0to216:PX(i)=i+9:next I:N=0
 


Ici tu as un tableau PX() qui possède 216 entrées.
pX(0)=9
(...)
et PX(216)=225

Ensuite tu modifies ton affichage de sprite, et tu incrémente ton pointeur de tableau
Code TEXT :
 
400 PUT SPRITE 0,(PX(N),Y),8,B
410 N=(N+1)MOD216
 


N aura des valeurs qui vont de 0 à 216... Quand N dépasse 216 il revient à 0

Pour aller dans l'autre sens

Code TEXT :
 
500 PUT SPRITE 0,(PX(N),Y),8,B
510 N=((N-1)*SGN(N))MOD216
 


N ira de 216 à 0 et n'ira pas plus bas que 0 Edité par ericb59 Le 11/12/2015 à 15h38


banniere-ericb59e
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/12/2015 à 17h03
Merci Eric :top

Y a un soucis avec la direction DROITE puisque le SPRITE semble disparaitre subitement vers le PIXEL 200 puis il réaparait au pixel 9 :(

Par contre, pas de soucis avec la direction GAUCHE puisque le SPRITE s'arrrete au pixel 9 et ne va pas plus bas :top

En fait il semblerait qu'avec la direction Droite, une fois le SPRITE atteignant la valeur maximale, le SPRITE réaparait à la valeur Miximal minimal :gne Edité par igal Le 11/12/2015 à 17h46


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5485

Le 11/12/2015 à 17h09
le SPRITE réaparait à la valeur Minimal

oui tout à fait !

Là, j'ai pas d'idée pour contraindre N à ne pas dépasser une certaine valeur... :gne
(Fin de journée... cerveau ralenti ! ) Edité par ericb59 Le 11/12/2015 à 17h10


banniere-ericb59e
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/12/2015 à 17h20
Ok merci de ta contribution :)

Le Problème reste ou vert si vous avez une idée :D

Le BUT étant d'éviter les IF X=machinTHEN.... Edité par igal Le 11/12/2015 à 17h21


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10358

Le 11/12/2015 à 17h49
pour éviter des programmations comme celle-ci

252 GOTO 1250
////
1250 FOR I=1TO16:READA$:S$=S$+CHR$(VAL("&B"+LEFT$(A$,8))):NEXTI
////
1590 GOTO 260

utilise plutôt

252 GOSUB 1250
////
1250 FOR I=1TO16:READA$:S$=S$+CHR$(VAL("&B"+LEFT$(A$,8))):NEXTI
////
1590 RETURN

ça s'appelle un sous programme et évite les problémes genre celui des datas en revenant a la ligne derriére celle d'appel du GOSUB


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/12/2015 à 18h22
Ok pour Ca Jipe :)

T'as une idée pour...

1) Limiter X=X+8 de sorte à ce que l'incrémentation de X se limite à 225 sans utiliser IF X=225THEN...
2) Limiter X=X-8 de sorte à ce que la décrémentation de X se limite à 9 sans utiliser IF X=9THEN...

Je veux empêcher le HERO de sortir de l'écran à droite pour réaparaitre à gauche sans utiliser de détection par collision ou autre méthode trop lente.

La méthode d'Eric est bien pour STOPER à 9 mais ne marche pas pour STOPER à 225 :(


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1488

Le 11/12/2015 à 18h33
igal :
1) Limiter X=X+8 de sorte à ce que l'incrémentation de X se limite à 225 sans utiliser IF X=225THEN...




Code :
X=X-8*(X<217)




igal :
2) Limiter X=X-8 de sorte à ce que la décrémentation de X se limite à 9 sans utiliser IF X=9THEN...




Code :
X=X+8*(X>17)




Attention à bien respecter le signe (ce n'est pas une erreur si c'est opposé au mouvement).


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/12/2015 à 18h59
Merci Métalion.

Petite précision, J'ai remplacé les valeurs que tu donnes par 9 et 225 et ca le fait comme je veux :kiss

Ca marche parfaitement.
Je vais intégrer cette formule dans pas mal d'endroits comme par exemple pour limiter le SPRITE de monter trop Haut ou descendre trop BAS :)

cela remplacera avantageusement les SPRITES qui me servent de SOL et qui impliquent de faire passer tout le processus par la détection de colisions dès que le SPRITE à "décollé du SOL"...ce qui est pas top.

Merci beaucoup :tchin :tchin :tchin Edité par igal Le 11/12/2015 à 19h01


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10358

Le 11/12/2015 à 19h03
Citation :
1) Limiter X=X+8 de sorte à ce que l'incrémentation de X se limite à 225 sans utiliser IF X=225THEN...

2) Limiter X=X-8 de sorte à ce que la décrémentation de X se limite à 9 sans utiliser IF X=9THEN...




ton probléme se situe surtout par la méthode employée

si dans les valeurs de X lors de l'incrément de 8 tu ne passe jamais par 225 le test sera nul et tu déborderas obligatoirement

il faut utiliser if x >225 then ou if x < 9 then



ex: 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120 128 136 144 152 160 168 176 184 192 200 208 216 224 232

la valeur de x sera de 224 puis de 232 donc le X=225 ne sera jamais valide

par contre avec >225 ça s'arrête a 224


:noel
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5485

Le 11/12/2015 à 19h04
en plus j'ai appris quelque chose moi aussi !
Merci !


banniere-ericb59e
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/12/2015 à 19h21
@Jipe:

Pas de soucis pour les Multiples ;)
Mais justement, je ne veux surtout pas utiliser les IF X THEN et je vais essayer d'en virer un maximum avec la formule de Métalion :)

Actuellement, dès que je fais "décoller le HERO", ce qui ralenti le plus mon moteur est la "détection des sprites" qui forment le SOL.

Avec cette méthode, je vais pouvoir me débarrasser de cette contrainte.
Il me restera toujours à détecter une éventuelle collision, mais pas à chercher le sol puisque.

Sauf détection ONSPRITEGOSUB, le héro atterrit à la même coordonnée Y que lors du saut.
Et comme tout le principe de base de mon moteur passe par la collision des sprites pour reconsidérer la caractéristique physique à appliquer à savoir la plus par du temps, chute vers le bas...donc la formule de Métalion vient à point :noel


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5485

Le 11/12/2015 à 19h36
Metalion il est trop fort...
Quel dommage qu'il ne se décide pas à finir ses projets de jeux ! :D


banniere-ericb59e
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10358

Le 11/12/2015 à 20h04
j'en connais un autre qui bossait sur un jeu pas fini :oups


:noel
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5485

Le 11/12/2015 à 20h12
Jipe :
j'en connais un autre qui bossait sur un jeu pas fini :oups


Ah qui donc ?



Je travaille sur Poker Bride, mais je suis tributaire du dessinateur qui fait les dessins des jolies filles toute nues !

Ca sortira pour l'été 2016 !


banniere-ericb59e
Site web    
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1488

Le 11/12/2015 à 20h26
igal :
Petite précision, J'ai remplacé les valeurs que tu donnes par 9 et 225 et ca le fait comme je veux


Les valeurs 17 et 217, c'était pour que la dernière opération (+8/-8) ne vienne pas dépasser les valeurs 9 et 225.

Mais si ça fonctionne comme ça, c'est parfait.



ericb59 :
Metalion il est trop fort...

Quel dommage qu'il ne se décide pas à finir ses projets de jeux ! :D


Mouais ... :(



C'est le temps qui manque, toujours le temps.

J'ai des supers projets (en tous cas, moi ils me motivent) en cours (au moins 4 jeux), mais je suis toujours rattrapé par la réalité.


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie