Forums Développement Multimédia

Aller au contenu

[résolu] :  Problème fileio sous mac Os

Director

6 réponses à ce sujet

#1 King V

    Ceinture Blanche

  • Members
  • Pip
  • 3 messages

Posté 18 February 2010 - 02:39 AM

Bonsoir
J'essaye de réaliser un jeu de pendu et j'ai besoin qu'il fonctionne sous windows et mac os.
Je n'ai eu aucun problème pour le faire fonctionner sous windows, mais il cale sous mac os lorsqu'il s'agit de récupérer un mot dans un fichier texte.
Voici le code qui pose problème :

Citation

root = _movie.path
--Detection de l'os
os = _system.environmentPropList.osVersion
if os contains "Windows" then
vpath = "\"
else
vpath = ":"
end if
-- Ouverture du fichier texte avec fileio
set myFile = new(Xtra"fileio")
openFile(myFile, root & "divers" & vpath & "liste.txt", 1)
-- Le jeu choisit une valeur au hasard et se rend a la ligne correspondante dans le fichier .txt
hasard = random(800)
i=0
repeat while i<hasard

ligne = readLine(myFile)
i=i+1
end repeat
closeFile(myFile)

Le jeu ne plante pas mais il ne semble pas charger de mot. J'ai pensé que le fichier texte pouvait être incompatible mac, je l'ai donc ouvert sous mac os pour le réenregistrer mais ça n'a rien changé. Que faire ?

#2 glurp

    Modérateur

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1260 messages

Posté 18 February 2010 - 10:20 AM

Salut King V,

Tout d'abord, pour définir ta variable vpath il y a plus simple ;

vpath = the last char of the moviePath

-- ou avec la nouvelle synthaxe --
-- vpath = _movie.path.char[_movie.path.char.count]
 

Ensuite, la façon dont tu instancies ton xtra est dépassée, utilise plutôt ;

myFile = xtra("fileIO").new()
 
Et fais plutôt les appels de fonctions en utilisant la synthaxe en point ;

myFile .openFile(...)
...
myFIle.closeFile()
 

Après, ce que tu fais dans ton repeat, c'est de lire toutes les lignes jusqu'à celle correspondant à hasard...
C'est un peu lourd, à mon avis il serait plus rapide de copier tout le texte dans un acteur texte, puis d'aller simplement chercher la ligne hasard ;

ligne = member("text").text.line[hasard]
 

Je ne suis pas sûr que cela règle ton problème, mais on ne sait jamais que certaines "anciennes synthaxes" ne passent plus sous Mac...

#3 bubar

    Ceinture Jaune

  • Members
  • PipPip
  • 17 messages

Posté 18 February 2010 - 12:00 PM

Si tu ajoutes cette ligne
put root & "divers" & vpath & "liste.txt"

qu'affiche-t-elle ? Vérifie que le chemin est bien valide.

Egalement,
root = _movie.path
Sur windows, selon l'os, cette fonction ajoute ou non un "\" final. Est-ce que sous mac, tu as bien un ":" final ?

#4 King V

    Ceinture Blanche

  • Members
  • Pip
  • 3 messages

Posté 18 February 2010 - 12:31 PM

Ah je ne sais pas pour la syntaxe dépassée, j'ai utilisé ce que j'ai vu en cours :/
Je ne pense pas qu'il s'agisse d'un problème de chemin, j'avais tout d'abord testé en ouvrant le fichier texte par une boîte de dialogue.
Je vais tester en mettant la liste de mots dans un texte, ça sera plus simple je pense :)

Par ailleurs, tant qu'a faire autant éviter de recréer un sujet ailleurs :
J'ai pu observer que mes textes n'avaent pas la même taille sous mac os et windows. Je pensais que comme Flash, director vectorisait les textes lors de l'exportation afin d'éviter les problèmes de polices non correspondantes. Ce n'est pas le cas ?

#5 glurp

    Modérateur

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1260 messages

Posté 18 February 2010 - 12:54 PM

Voir le messageKing V, le 18 February 2010 - 12:31 PM, dit :

J'ai pu observer que mes textes n'avaent pas la même taille sous mac os et windows. Je pensais que comme Flash, director vectorisait les textes lors de l'exportation afin d'éviter les problèmes de polices non correspondantes. Ce n'est pas le cas ?
As-tu bien importé ta police de caractères au sein de ton application ?
Sinon, il peut y avoir des différences d'interprétation...

#6 Ned.Net

  • Members
  • PipPipPipPipPipPipPipPip
  • 727 messages

Posté 19 February 2010 - 07:55 AM

Citation

J'ai pu observer que mes textes n'avaent pas la même taille sous mac os et windows. Je pensais que comme Flash, director vectorisait les textes lors de l'exportation afin d'éviter les problèmes de polices non correspondantes. Ce n'est pas le cas ?

ça n'est pas du tout le cas, hélas.
Pire, Director dégrade le rendu des polices importées (pour d'obscures raisons de droits), et leur rendering n'est pas exactement le même selon la plateforme. Bref, à ma connaissance tu n'obtriendras jamais un aspect exactement identique dans les 2 :(

#7 King V

    Ceinture Blanche

  • Members
  • Pip
  • 3 messages

Posté 19 February 2010 - 09:10 AM

Merci de votre aide, ça a fonctionné impec en mettant les mots dans un texte en interne (et c'est beaucoup moins prise de tête)
Dommage pour les polices, enfin je me débrouillerai, j'ai pas trois millions de textes non plus.



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)