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

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?

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
J'utiliserai la même technique que sur cette vidéo:
Edité par igal Le 01/02/2015 à 21h03


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

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

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

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

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

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


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"
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

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


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


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...
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...



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
Une fois le générateur de Bribes "COPY" terminé, je le posterai. Ca pourrait être une voix intéressante à explorer.
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

Une fois le générateur de Bribes "COPY" terminé, je le posterai. Ca pourrait être une voix intéressante à explorer.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie