Comme promis jack je crée ce sujet pour toutes les fonction que je pense utiles à intégrer à panoramic, et toutes les fonctions qui pour moi sont obsolètes. (je pourrais mettre en oeuvre un programme de remplacement de caractère si tu le souhaite).
Le caractère "|" traduit un ou logique.
Voici la liste (pour toi petit papa noël
) :
le case :
Select variable
case <|=|>|<=|>=|other constante|variable|opération constante-variable
instructions
end_select
La 3D :
mon but serait d'utiliser les cameras* comme des objets
et pareil pour les lumières
donc
3D_camera N, X
N : handle et X : zoom (à réfléchir).
*: plusieurs cameras pour du MMO (pas indispensable car on peut coder les position et utiliser un scene 3D par joueur avec chaqu'un sa propre camera.)
3D_Light N, X
N : handle et X : angle de diffusion en radian.
effet du 3D_color sur Light et Camera :
Light, change la couleur de la lumière.
Camera, change la couleur du filtre couleur devant la camera.
(on pourrait simuler une vue à travers des lunettes de soleil, ou des fondu vers le rouge quand notre personnage se fait mal, etc...)
pour finir avec la 3D je n'ais que 3 choses à dire :
Set, Get, Inc(rement)
quand on mélange ça à position, rotation et scale, ça donne :
3D_Set_X_position N, X
3D_Set_Y_position N, Y
3D_Set_Z_position N, Z
3D_Set_position N, X, Y, Z
3D_Set_X_rotation N, X
3D_Set_Y_rotation N, Y
3D_Set_Z_rotation N, Z
3D_Set_rotation N, X, Y, Z
3D_Set_X_scale N, X
3D_Set_Y_scale N, Y
3D_Set_Z_scale N, Z
3D_Set_scale N, X, Y, Z
3D_Get_X_position (N)
3D_Get_Y_position (N)
3D_Get_Z_position (N)
3D_Get_position N, X, Y, Z (n'est donc pas possible)
3D_Get_X_rotation (N)
3D_Get_Y_rotation (N)
3D_Get_Z_rotation (N)
3D_Get_rotation N, X, Y, Z (n'est donc pas possible)
3D_Get_X_scale (N)
3D_Get_Y_scale (N)
3D_Get_Z_scale (N)
3D_Get_scale N, X, Y, Z (n'est donc pas possible)
3D_Inc_X_position N, X
3D_Inc_Y_position N, Y
3D_Inc_Z_position N, Z
3D_Inc_position N, X, Y, Z
3D_Inc_X_rotation N, X
3D_Inc_Y_rotation N, Y
3D_Inc_Z_rotation N, Z
3D_Inc_rotation N, X, Y, Z
3D_Inc_X_scale N, X
3D_Inc_Y_scale N, Y
3D_Inc_Z_scale N, Z
3D_Inc_scale N, X, Y, Z
je ne parle pas de decrement car il vas de soit qu'utiliser un incrément avec une valeur négative entraine un decrement (+(-3) = -3)
- Code:
-
...
3D_Light 10, 1
3D_Set_X_scale 10, 3
3D_Inc_Z_rotation 10, pi/4
3D_color 10, 255, 255, 0
Créerait un faisceau de lumière jaune de forme ovale incliné à 45°.
répéter la troisième instruction aurais pour effet la rotation du faisceau par pas de 45°.
Les entrées claviers :
à mon avis une bonne reforme s'impose, je propose
key_once : ne donne le valeur de la touche appuyé qu'au moment de l'appui.
key_state : est égal à scancode (question de formatage)
key_last : est égal à key_down_code (question de formatage)
key_up : est égal à key_up_code (question de formatage)
(et surement garder le input pour les edits)
(key_once_up, si quelqu'un en as l'utilité qu'il le dise maintenant ou se taise à jamais
)
Je pense qu'avec ça on peut tout faire du clavier.
(key_state_up est impossible).
Voila