Messagerie


fonction javascript

890 messages

lundi 13 juin 2016 à 12:19
Hello :)

j'essaye de piger comment fonctionne les appels javascript via l'objet html5. Je fais çà :
start of frame
>reset parameters
>call "window.top.location.hostname"
always
>set alt string to JSStrResult$( "HTML5" )

en sortie j'ai une chaine vide ou pas de résultat... je n'en sais rien.
merci de votre aide ;)
890 messages

lundi 13 juin 2016 à 17:42
ok c'est bon !
Visiblement, cela ne sert à rien de déclarer un script externe ! Par contre, si je met ma fonction dans l'index.html, ma fonction me renvoit bien le nom de la fenêtre ou sa taille... bref ! c'est cool !

Nota juste pour comprendre : j'ai déclarer ma source externe javascript comme cela : <script src="src/myFunction.js"></script>
J'ai commis une erreur ? Il y a un moyen pour appeler une fonction qui n'est pas contenue dans l'index.html ? Je demande çà juste pour éviter, lors du build, d'écraser malencontreusement son travail :)

Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 13 juin 2016 à 18:39
Je pense qu'il manque un éditeur WYSWYG pour l'index.html à la compilation. Couleurs, tailles, titre...
J'avais commencé à en coder un. Je n'aurai jamais le temps de finir ce truc...
Si ça interresse quelqu'un je peux filer mon travail en cours.
890 messages

lundi 13 juin 2016 à 19:57
C'est tout de même bizarre... Je récupère maintenant la taille de ma fenêtre pour simuler le responsive. Les valeurs sont données par innerWidth et innerHeight. Quand je fais un facteur d'échelle x et Y en fonction de la taille écran (ex pour X : (1.0*innerWidth)/longueur du sprite), certaines fois j'ai tout mon sprite qui s'affiche dans la fenêtre et certaines fois, il déborde. J'ai mis le point chaud en 0,0 et je place le sprite en 0,0. j'ai fait un liseret sur le bord du sprite pour bien voir s'il épousait les bords de ma fenêtre... et... FUCK MOUMOUTTE c'est pas le cas !
ça vous parle ?
890 messages

lundi 13 juin 2016 à 22:42
bon impossible d'avoir la taille réelle d'une fenêtre affichée. Quand je suis en plein écran, ma résolution est de 1920x1080, mon retour javascript est 1536x734 :( !!!
voici la page de test :
http://www.lestibidous.fr/html5/windows/index.html
comme vous le voyez, j'ai mis un sprite qui couvre toute la frame (c'est un 32x32). 20 et 15 sont les facteur d'échelle en X et en Y (la frame fait donc 640x480). Maintenant si vous faites bouger la taille de la fenêtre de browser, les facteurs d'échelle restent inchangés. Comment avoir les bons ratios de de qui est affiché ? Le but est justement la correction de ces déformation en vue d'avoir un responsive à peu près potable.
Merci de vos lumières !
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 13 juin 2016 à 23:35
Chez moi j'ai bien les bonnes dimensions qui sont affichées. Il faut peut ètre que tu réactualise la page après être passé en plein écran.
890 messages

mardi 14 juin 2016 à 08:28
coucou Seyjin et merci beaucoup d'avoir regardé... bon je suis dans la mouise alors... Quelles sont les valeurs qui sont affichées stp ? le X correspond bien à la résolution horizontale de ton moniteur ?
Pour ma part, j'actualise et c'est toujours pareil : 1536x734. ça me rend chèvre ce bazar !
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 14 juin 2016 à 09:16
Sans être en plein écran ça m'affiche 1680×988 (les 62 pixels manquants sont la barre des taches de Windows et les onglets de Firefox. Si je passe en plein écran et actualise la page ça affiche 1680×1049 (bon pour 1 pixel c'est pas grave)
En passant sur l'autre écran (1440×900), j'ai 1440×868 ((les 22 pixels c'est la barre d'onglets) et 1440×899.
890 messages

mardi 14 juin 2016 à 09:28
Merci Seyjin, je viens de trouver d'où cela venait. j'ai une carte Nvidia et dans les propriétés d'affichage, il fallait que je mette dans l'onglet "régler la taille et la position du bureau" "Effectuer la mise à l'échelle" avec le processeur graphique.
Maintenant, les tailles de la fenêtre sont correctes. Cependant, j'ai toujours le problème sur la taille du sprite qui doit remplir la fenêtre. ses rapports d'échelle sont corrects mais soit il dépasse soit il est trop court... J'ai l'impression qu'il y a un ratio à trouver entre la taille de l'appli et la taille du client...
Si tu veux regarder j'ai modifié l'appli sur le lien... (Et pas de soucis si tu n'as pas le temps Seyjin !!! un grand merci en tout cas pour ta gentillesse ;) !!!)
890 messages

mardi 14 juin 2016 à 10:16
je commence à piger un peu : l'appli est étirée à la taille maximale de la fenêtre mais conserve toujours sa taille d'application nominale. Si ma frame de jeu est en 640x480, même étirée en 1920x1084 ou tout autre rapport, les rapports d'échelle pour étirer un 32x32 seront toujours 20 et 15 car l'appli fait bien 640x480.
890 messages

mardi 14 juin 2016 à 14:07
J'ai mis un sprite qui se déforme en fonction de la taille de la fenêtre mais mon calcul est empirique...
quand la tailleX de la fenêtre est supérieur à taille Y, mon sprite 128x128 s'étire en X. Comme la taille de la fenêtre augmente, j'ai choisis de grossir Yscale pour récupérer un sprite carré. Yscale= (ratio de l'écran+ratio de l'objet)/2.
Comme vous pouvez le voir sur l'exemple en ligne, cela fonctionne pas trop mal.
Quand taille X de la fenêtre est inférieur à Taille Y, le sprite 128x128 s'étire en Y. Pour des soucis de lisibilité, j'ai choisis de grossir les X. Et là... ma formule est toute bizarre (1/ratio écran)+0.6...
Si un/e matheux/se, ou un bon ch'ti gars ou fille (je suis à fond dans l'égalité !!!) a la formule et pas un tatonnage fait main roulé sous les aisselles...

Je rappelle la problématique : affiché un sprite avec son ratio nominal même lorsque la fenêtre client n'est pas homothétique à la fenêtre de l'application.
Merci de votre aide :)
890 messages

mardi 14 juin 2016 à 19:22
:sonic
j'ai trouvé : il n'y avait qu'un seul cas et il faut faire un ratio de ratios : ratio des X/Ratio des Y. et cela fonctionne parfaitement.
Par exemple, j'ai une appli en 640x480, cela donnera : (innerWidth/640)/(innerHeight/480). Un petit objet windows controle pour choper la taille de l'appli pour éviter d'avoir 640 et 480 dans ma formule.
Voilou... je me suis débattu dans un verre d'eau !

Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 14 juin 2016 à 19:41
Super \à/

Bon, j’arrive un peu tard. Du coup comme y a plus besoin de moi, je retourne à une vie normal  ;D
890 messages

mardi 14 juin 2016 à 20:25
;) Bonne soirée Seyjin !
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 53 visiteurs au total

Derniers messages