MSX Village forum

La Place des Développeurs [EN COURS] VDP(24) et décors destructibles. Interagir sur un décor scrollé.

igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 01/02/2015 à 19h08

Reprise du message précédent

j'ai un [Type MisMatch in 302]

300 F=1
302 F$=MID$(STR$(F),2,LEN(STR$(F)-1))
304 BLOAD"F$",S: F=F+1:GOSUB1510
308 GOTO 302

1510 VDP(24)!VDP(24)+2ANd255:RETURN

Tu as essayé ta ligne de commande?


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 01/02/2015 à 19h21
oups
c'est en fait
302 F$=MID$(STR$(F),2,LEN(STR$(F))-1)

et pas de guillemet pour le bload

BLOAD F$,S


banniere-ericb59e
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 01/02/2015 à 21h00
En attendant voici les futurs faux sprites que j'afficherai en utilisant la même technique que le moteur de Winnie ;)



Il ne reste qu'à intégrer les commandes COPY selon les déplacement et attaques.

Concernant le Scrool, j'ai déjà préparé une map alternative qui déroule par 4 Pixels en plus des map déroulées par 2.

L'idée est de proposer une vitesse de "Montée" plus rapide en cas de direction vers le haut.
C'est d'ailleurs la raison pour laquelle j'ai besoin de lire mes fichiers par le BIAIS d'une Variables qui puisse être modifiée à n'importe qu'elle moment des opérations en cours.

Remplacé le Nom des Répertoires par une Variable permet de basculer entre les deux Mappes en temps réel et d'appliquer une progression plus rapide et dynamique.

lorsque j'oriente la lecture des Fichiers sur le Répertoire contenant la Mappe X4, j'augmente la progression de VDP(24)=VDP(24)+4AND255 au lieu de VDP(24)=VDP(24)+2AND255.

Merci Eric..Je découvre ton post à l'instant :)

Bonne Nuit :top

J'utiliserai la même technique que sur cette vidéo:
Edité par igal Le 01/02/2015 à 21h03


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

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 18/03/2015 à 11h03
J'ai essayé de créer de Bribes avec la commande COPY au lieu de BSAVE.

Je sais pas pourquoi j'ai un SYNTAX ERROR IN 101!

32 SCREEN 5
72 BLOAD"00000000.SC5",s:COLOR=RESTORE
101 COPY(0-0)-(255-1),0TO"1"
102 COPY(0-2)-(255-3),0TO"2"
103 COPY(0-4)-(255-5),0TO"3"
104 COPY(0-4)-(255-7),0TO"4"

j'ai essayé avec "E:1" ou encore "E:1" mais j'ai droit à un syntax error in 101 à chaque fois :(

Forcément je dois me tromper quelque part mais j'vois pas :sick


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: 10339

Le 18/03/2015 à 11h28
l'instruction COPY vers un tableau ne fonctionne que vers le lecteur de disquette ou autre périphérique de sauvegarde

ex: tiré du bouquin du HB700

Citation :
100 SCREEN 5

110 DIM A(89)

120 OPEN"GRP:" FOR OUTPUT AS #1

130 PRESET (10,10):PRINT #1"ABCDE"

140 PRESET (10,18):PRINT #1"VWXYZ"

150 COPY (10,10)-(50,26),0 TO A

160 COPY A,0 TO (80,60),0

160 COPY A,1 TO (80,100),0

160 COPY A,2 TO (80,140),0

160 COPY A,3 TO (80,180),0

180 GOTO 180


le calcul du DIM ligne 110 utilise la formule suivante

INT((((((50-10)+1*(26-10)+1*4+7/8)+4/4)+1=89

50 et 10 coordonées du copy

26 et 10 coordonnées du copy

4 taille du pixel en screen 5 ( 4 en screen 5 ,2 en screen 6 , 4 en screen 7 , 8 en screen 8 )

4 taille des données ( nombre entier 2 , simple précision 4 , double précision 8 )

ça c'est un vrai challenge pour Igal c'est page 57 du MSX -BASIC Version 2.0 manuel de référence de programmation de SONY


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 18/03/2015 à 11h34
En fait c'est pas vers un tableau que je veux sauver mais vers des fichiers :)

Les fichiers se nomment 1, 2, 3 etc... :)

C'est pour cela que j'ai précisé avoir essayé => 101 COPY(0-0)-(255-1),0TO"E:1"ou encore 101 COPY(0-0)-(255-1),0TO"e:1" mais toujours pareil j'ai un syntax error in 101 :(

En fait, je veux juste sauver le contenu de COPY dans un fichier.

Merci de votre aide :)


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: 10339

Le 18/03/2015 à 11h40
le COPY vers le lecteur de disquette ne peut se faire qu'en passant par la variable en tableau

COPY A to "NOM.FIC"


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 18/03/2015 à 11h52
Jipe :
le COPY vers le lecteur de disquette ne peut se faire qu'en passant par la variable en tableau



COPY A to "NOM.FIC"




Merci pour ce précisions Jipe.



Pourtant en parcourant le site de MsxOsaure si je me trompe pas, Msxosaure explique qu'il est possible de sauver simplement depuis l'image vers le fichier :heink



Voici comme il décrit la commande:

Citation:

COPY (X1,Y1)– (X2-Y2),page TO “lec:nom”

Copie la zone s’étendant de X1,Y1 à X2,Y2 vers un fichier nom dans le lecteur lec (A à F) (pour les modes écrans 5 à 8)

Si la page n'est pas précisé l'opération se déroulera sur la page active.


Fin de citation:



Le cas de figure dont tu parles est aussi décrit, mais c'est la commande juste au dessus qui m'intéresse.



Voici les 8 possibilités que décrit MsxOsaure:

Code TEXT :
 
COPY (X1,Y1)– (X2-Y2),pag1 TO (X3-Y3),pag2,ope
Copie la zone s’étendant de X1,Y1 à X2,Y2 sur la page pag1 vers X3,Y3 sur la page pag2
Si la page n'est pas précisé l'opération se déroulera sur la page active.
ope est un opérateur logique ( TPSET permet par exemple les copy avec transparence avec 0 comme couleur transparente.)
 
COPY (X1,Y1)– (X2-Y2),page TO tab
Copie la zone s’étendant de X1,Y1 à X2,Y2 vers un tableau -A(0)- 
 tab: tableau dimensionné comme suit : INT(4*(ABS(X2-X1)+1* ABS(Y2-Y1)+1)+7)/8)+4
Si la page n'est pas précisé l'opération se déroulera sur la page active.
 
 COPY (X1,Y1)– (X2-Y2),page TO “lec:nom”
 Copie la zone s’étendant de X1,Y1 à X2,Y2 vers un fichier nom dans le lecteur lec (A à F) (pour les modes écrans 5 à 8)
Si la page n'est pas précisé l'opération se déroulera sur la page active.
 
 COPY tab,dir TO (X3-Y3),page,ope
Copie le contenu d’un tableau -A(0)- vers X3,Y3 sur l’écran.
Si la page n'est pas précisé l'opération se déroulera sur la page active.
ope est un opérateur logique ( TPSET permet par exemple les copy avec transparence avec 0 comme couleur transparente.)
dir : basculement de l’image, 0 : sans , 1 : gauche-droite, 2 : haut-bas, 3 : gauche-droite et haut-bas.
 
 COPY “lec:nom” TO (X3-Y3),pag2,ope
Copie le contenu d’un fichier nom vers X3,Y3 sur l’écran. 
Si la page n'est pas précisé l'opération se déroulera sur la page active.
ope est un opérateur logique ( TPSET permet par exemple les copy avec transparence avec 0 comme couleur transparente.)
 
 COPY tab TO “lec:nom”
 Copie le contenu d’un tableau tab vers un fichier nom. 
 
COPY “lec:nom” TO tab
Copie le contenu d’un fichier nom vers un tableau tab .
 tab: tableau dimensionné comme suit : INT(4*(ABS(X2-X1)+1* ABS(Y2-Y1)+1)+7)/8)+4
 
 
COPY “lec1:nom1” TO “lec2:nom2”
Copie un fichier nom1 du lecteur lec1 vers un nouveau fichier nom2 o u lecteur lec2.
 




voici le lien :D


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: 10339

Le 18/03/2015 à 11h54
je teste demain , faut que j'aille bosser la ;)


:noel
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5485

Le 18/03/2015 à 14h30
Je confirme que tu n'as pas besoin de tableau pour sauvegarder une partie d'écran avec un COPY

Igal essaie de mettre une extension à tes noms de fichiers, et peut être de commencer le Nom du fichier par une lettre.

101 COPY(0-0)-(255-1),0 TO "a:1.sc"

ou bien

101 COPY(0-0)-(255-1),0TO "a:A1.sc" Edité par ericb59 Le 18/03/2015 à 14h30


banniere-ericb59e
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 18/03/2015 à 17h37
@Eric: Je viens d'essayer mais toujours pareil.

101 COPY(0-0)-(255-1),0 TO "E:1.SC"
ou encore "E:A1.SC" etc etc...

Cette commande fonctionne chez toi ou alors c'est du théorique?


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 18/03/2015 à 17h49
j'suis un cornichon, j'ai bêtement fait un copier coller, mais c'est une virgule qui faut utiliser dans les COPY

101 COPY(0,0)-(255,1),0 TO "E:1.SC"

j'utilise cette fonction tous les jours (ou presque ) ce n'est pas théorique... :)


banniere-ericb59e
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 18/03/2015 à 18h01
Bon bah....
Je suis vraiment fatigué moa :fou

Merci Eric ca marche très bien. Je sais pas pourquoi j'ai foutu des "Traits d'union" au lieu de "Virgules"! :p


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 18/03/2015 à 18h03
allez un jus de carottes bio et ça ira mieux :D


banniere-ericb59e
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10339

Le 19/03/2015 à 15h34
mince pas vu le piége non plus , saint axe priez pour nous


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 19/03/2015 à 16h43
Désolé Jipe.

Ca fait tellement longtemps que je triture la dessus qu'au bout d'un moment tout se brouille :(

Bref. Ca semble fonctionner correctement et il est possible d'appliquer la transparence et donc d'afficher une image Genlock en arrière plan ce qui peut être sympathique pour la suite des événements :D

Une fois le générateur de Bribes "COPY" terminé, je le posterai. Ca pourrait être une voix intéressante à explorer.


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie