CPC Rulez
https://cpcrulez.fr/forum/

Charger une image.SCR et l'afficher plus tard ?
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=6182
Page 2 sur 2

Auteur :  Bioris [ 27 Jan 2019, 10:44 ]
Sujet du message :  Re: Charger une image.SCR et l'afficher plus tard ?

Merci à hERMOL aussi, j'ai testé ton code mais dans un émulateur CPC car plus de Gotek qui marche.

Ça affiche une image plus petite que l'écran et au centre, c'est quelque chose que j'aurai aimé savoir faire pour afficher des photos de personnages ou de lieux, mais cela prendrait trop de Ram vu le nombre de personnages et de lieux dans mon jeu, donc mes graphismes vont être simples avec des PLOT + DRAW + FILL + caractères CHR$ ... un peu de SYMBOL pour créer mes personnages et les objets.

Donc la mémoire écran affiché et écran "caché" ne sera occupée que par une seule image, la CARTE4.SCR :D

Edit : Mince, ce message a ouvert une 2e page au sujet et on ne voit plus mon message précédent qui était important :twisted:

Auteur :  Bioris [ 27 Jan 2019, 14:46 ]
Sujet du message :  Re: Charger une image.SCR et l'afficher plus tard ?

Veuillez excuser la démarche, je remets mon message posté sur la page précédente, pour lisibilité :
-------------------------------------------------------------

Merci :D

Ma carte en version JPG de PC pour voir à quoi elle ressemblera sur l'écran du CPC :
Image

===============================
La version CPC de 16 Ko en ".SCR" :
Pièce jointe :
CARTE4.zip
en "zip" car en "scr" le forum ne l'accepte pas.

Mon but est de pouvoir afficher cette carte dans mon jeu à chaque fois que l'on veut se déplacer, puis on passe à un écran où on voit le personnage se déplacer donc cette image de la carte va à une autre adresse mémoire que celle de l'écran affiché, et la carte doit pouvoir revenir et repartir à volonté pendant tout le jeu.

Mais : Lorsque cette image SCR est affichée, je dois pouvoir faire des PRINT et des PLOT dessus, je dois afficher différentes choses par dessus et le code qui avait marché précédemment pour afficher la carte et l'enlever ne me permettait pas d'écrire sur la carte (curseur et Ready invisibles) donc mauvaise adresse mémoire d'affichage.

Le code qui a marché chez moi (et qui est court) mais qui enlève le curseur lorsque la carte est affichée est :
Code :
MEMORY &3FFF:LOAD"CARTE4.SCR",&4000
OUT &BC00,12:OUT &BD00,48
OUT &BC00,12:OUT &BD00,16
Merci à demoniakparadox :)

Help please ! Je ne suis pas loin d'avoir le code qu'il me faut, me manque juste un code pour que le curseur revienne sur la carte et que je puisse donc afficher des caractères, des points, sur cette carte :D

Auteur :  velus [ 27 Jan 2019, 17:14 ]
Sujet du message :  Re: Charger une image.SCR et l'afficher plus tard ?

Il faut ne faut faire qu'un ldir et tout sera ok

Voici le code

5 memory &3fff:load"image.scr",&4000
10 for n=&be80 to &be9b:read a$:a=val("&"+a$):poke n,a:next
20 data 21,00,40,11,00,c0,01,00,40,ed,b0,c9,00,00,00,00
30 data 21,00,c0,11,00,40,01,00,40,ed,b0,c9

Voila quand tu feras call &be80 l'image stockée en &4000 apparaitra en &c000
et si tu fais call &be90 ce qui est a l'écran se déplacera en &4000

Auteur :  Bioris [ 27 Jan 2019, 18:09 ]
Sujet du message :  Re: Charger une image.SCR et l'afficher plus tard ?

Je viens d'essayer ce code, Velus, pas d'image qui s'affiche :twisted:

Pas le bon call ???

Auteur :  velus [ 28 Jan 2019, 00:17 ]
Sujet du message :  Re: Charger une image.SCR et l'afficher plus tard ?

Si ca fonctionne parfaitement regarde voila un dsk
run"velus

Auteur :  Bioris [ 28 Jan 2019, 18:32 ]
Sujet du message :  Re: Charger une image.SCR et l'afficher plus tard ?

Merci Velus !!! :winner:

J'ai mis ma carte, les bon "ink" pour les couleurs, ajouté des lignes pour passer de la carte à un autre écran et revenir à volonté ...

... je passe de ma carte à un autre écran et revient !!! Génial, trop content, merci ! :D

Donc, le code final utilisé est :
Code :
5 mode 1
10 for n=&be80 to &be9b:read a$:a=val("&"+a$):poke n,a:next
20 data 21,00,40,11,00,c0,01,00,40,ed,b0,c9,00,00,00,00
30 data 21,00,c0,11,00,40,01,00,40,ed,b0,c9
40 memory &3fff:load"image.scr",&4000
50 call &BB06
60 call &BE80


Si ensuite je fais un CLS et que je retape call &BE80 l'image revient ! :D

Pour rappel : Ce code charge l'image SCR dans une mémoire écran non visible à l'écran, et sur la commande CALL &BE80 cette image s'affiche sur l'écran (donc passe dans la mémoire écran affiché).

Auteur :  velus [ 29 Jan 2019, 18:14 ]
Sujet du message :  Re: Charger une image.SCR et l'afficher plus tard ?

C'est ca et si tu fais call &BE90 ce qui se trouve a l'écran sera transféré en &4000
si jamais tu devais faire des modifications sur ta carte, ensuite call &be80 pour la rappeller
Tout est indiqué dans le fichier basic

Auteur :  Bioris [ 02 Fév 2019, 00:19 ]
Sujet du message :  Re: Charger une image.SCR et l'afficher plus tard ?

Merci :D

Mais je ne sais pas modifier une image en mémoire :(

Le peu qui sera modifié sera des PRINT par dessus l'image, des PLOT pour le point clignotant qui indique où on est, mais en réalité l'image en mémoire je ne la modifie pas, donc à chaque fois que je fais le CALL ... mon image revient, cela me suffit , merci à toi :winner:

Auteur :  velus [ 05 Fév 2019, 04:42 ]
Sujet du message :  Re: Charger une image.SCR et l'afficher plus tard ?

:)

Auteur :  velus [ 14 Fév 2019, 01:56 ]
Sujet du message :  Re: Charger une image.SCR et l'afficher plus tard ?

voila &6000

Auteur :  Bioris [ 14 Fév 2019, 19:32 ]
Sujet du message :  Re: Charger une image.SCR et l'afficher plus tard ?

Encore une fois un grand merci ! :D

Page 2 sur 2 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/