scrolling differenciel amos
10 sujets de 1 à 10 (sur un total de 10)
-
ça m’aide pas pas vraiment…
actuellement, mes problèmes sont que :
1: je ne peux pas ouvrir des écrans de moins de 8 pixels de haut
2: si je positionne un écran au dessus de l’autre, il y a toujours une ligne noire entre les 2 écrans (si je les superpose, la ligne noire est toujours présente et une partie de l’écran est tronquée)
J’y est passé tellement d’heure sur AMOS que 20 ans après j’ai toujours les commandes à l’esprit
C’est bien dommage que l’affichage ne respecte pas le système, j’ai récupéré “AmiBlitz” mais les réflexes de l’AMOS sont dur à perdre.
Donc pour superposer deux écrans, tu peux utiliser “DUAL PLAYFIELD”.
Cette solution amenait des contraintes de gestions des couleurs et je me souviens qu’à l’époque je lui avais préféré la copie de blocs d’image sur un double buffer ce qui permettait l’utilisation en 32 et 64 couleurs et n’était pas limité à un seul “parallaxe” mais devait se construire dans le code.
Pour la ligne noire entre les différents écrans ouverts je me souviens l’avoir toujours eu aussi.
pour le min à 8 pixels, j’ai jamais testé.
1 seul écran, mais avec une copperlist spéciale qui modifie les valeurs de scroll horizontal pour un ou deux plans (2 ou 4 couleurs) en suivant les déplacements…
Si on utilise plusieurs écrans dans le sens intuition, on a une bande noire entre chaque écrans ce qui est très moche.
Les scrolling parallaxe sous amos ??
Je pense pas.
les écrans amos sont des écrans intuitions déguisé (j’en suis pas 100% sûr), et pour avoir bricolé la fonction de patch de copperlist intuition: ça supporte très peu de chose. (edit: mmmm après reflexion, il est possible de faire des scrolls parallaxe en intuition puisqu’un patch de copperlist workbench faisait des effets d’eau en bas de l’écran)
Pour faire des scrolls parallaxe, il vaut mieux forcer sa copperlist avec les bonnes vieilles mèthodes de hack (pas de sources sous la mains, je suis au bureau)
Cependant: on peut utiliser amos comme un “linker” d’objets assembleur, et utiliser du code assembleur externe pour ouvrir ses écrans … dans ce cas on ne peut plus utiliser les fonctions graphiques d’amos …
Si on utilise plusieurs écrans dans le sens intuition, on a une bande noire entre chaque écrans ce qui est très moche.
… en fait, quand on fait des écrans intuition, on demande des configurations de résolution et des couleurs pour chaque écran intuition, et le système “compile” une copperlist.
Si on veut utiliser plus de features bas niveau dans un écran inituition, on peut avec les fonctions de graphics: cinit cwait cmove cbump, … ou on “demande gentiment à intuition” si il veut bien inclure des instructions copperlist à nous quand il va recompiler sa copperlist. (avec rethinkdisplay de mémoire, processus carrément lourd et lent avant l’os 3.0.
Il faut bien s’imaginer aussi que chaque fois qu’on draggue les écrans intuitions verticalement, intuition et graphics recompilent la copperlist.)
… le problème c’est que des fois, intuition veut pas compiler tel ou telle instruction copper qu’on lui demande: j’ai jamais réussi à avoir des WAIT “horizontaux” fonctionnels.
ne pas oublier qu’intuition gère déjà des scrolls horizontaux, il a pas forcèment envie qu’on vienne lui bousiller les offset pixels et les modulos
…du coup si on veut faire mumuse aux scrools parallaxe, vaut vraiment mieux virer tout comme ont toujours fait les demomakers et coders de jeux.
Salut.
@Krabob : Il y a plus simple.La seule solution pour obtenir le même effet que dans Shadow of the beast, est de désactiver le copperlist Amos et de créer sa gestion perso.
C’est techniquement possible mais cela nécessite une bonne connaissance des registres copper.
Je vais regarder mes vieilles sauvegarde voire si j’ai pas qurlqie chose qui pourrait correspondre a tes besoins.
@+
AmiDARK
Ils en parlent ici :
http://www.ultimateamiga.co.uk/index.php?topic=9352.0
For I=0 To 1
Screen Open I,640,200,8,Lowres
Screen Display I,129,48,320,200
Flash Off : Curs Off : Cls 0
Polygon 0,199 To 80,100 To 160,170 To 240,50 To 319,199
Screen Copy I,0,0,320,200 To I,320,0
Next I
Dual Playfield 0,1
Double Buffer : Autoback 0
Do
Add SX0,2,0 To 320
Add SX1,1,0 To 320
Screen Offset 0,SX0,0
Screen Offset 1,SX1,0
Screen Swap : Wait Vbl
Loop
10 sujets de 1 à 10 (sur un total de 10)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › scrolling differenciel amos