Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
Publicité
|
|
Mode achat dans game blender |
|
Fou Furieux du Clan 
Inscrit: 22/05/2010 11:23
Post(s): 176
|
Suite au récentes et multiples modification de mon menu d'achat, il est temps de faire faire des achats !
Tout ceci est en 2.49B
- J'ai crée un inventaire consultable ou on peut voir le nombre de coques, armements, etc. acheté.
- un bouton, à côté de l'article est présent et sert à acheter l'objet concerné.
- Il y a aussi un compteur ou l'on a les fonds initiaux et un autre le prix final.
Tout ceci est en texture text (propriety game blender).
Quand on ajoute des pièces à la liste d'achat, il faut :
- Qu'il soit ajouté 100 dans le compteur prix final. - Que la pièce soit enregistré dans, ce que l'on m'a conseillé, un script python "dictionnaire". - Que dans mon inventaire, il y soit affiché "piece", la quantité "1" et un bouton " X " pour annuler cet achat.
Concernant ce dictionnaire, je dois l'expérimenter. Je demandrais si nécessaire.
Je pense avoir été clair. Pour le compteur, j'ai bêtement fais une condition "mouse over" et "left boutton" sur le boutton "acheter" et un effet propriety, nommé Text et "assign 100". Mais ça ne fonctionne pas, même avec "add".
Merci de vos lumière, et que l'empereur vous bénissent.
Contribution le : 21/10/2010 15:07
|
|
|
Re: Mode achat dans game blender |
|
OverdOzed 
Inscrit: 24/07/2008 00:45
De Paris
Post(s): 3447
|
Citation : Je pense avoir été clair. Pour le compteur, j'ai bêtement fais une condition "mouse over" et "left boutton" sur le boutton "acheter" et un effet propriety, nommé Text et "assign 100". Mais ça ne fonctionne pas, même avec "add". Ta property Text est, comme son nom l'indique, du texte, et non un nombre. Tu ne peux donc pas lui ajouter 1, ni 100. C'est comme si tu voulais faire "bonjour" + 7.5 = ?? Ça marche pas, et "100" + 1, ça ne marche pas non plus car "100" n'est pas égal à 100 en informatique. En ce qui concerne le dictionnaire Python, je te le conseille aussi. Il permet de pouvoir ajouter des éléments à ton menu en ne modifiant que le dictionnaire. Ajoutes-y une ligne, et un objet de plus sera en vente. Bien sûr, il faut que ton menu soit créé en conséquence pour que ça marche, ça se fera pas tout seul.  Mais c'est le principe du template : il suffit de modifier les paramètres pour tout modifier.  Bonne chance donc pour ce menu...
Contribution le : 21/10/2010 16:41
|
|
|
Re: Mode achat dans game blender |
|
Fou Furieux du Clan 
Inscrit: 22/05/2010 11:23
Post(s): 176
|
Bonjour.
Pour le compteur d'argent, j'ai relus le tuto "creer un hud" sur ce site. Je vais enquêter mais je pense avoir la solution.
Merci, Bobibou, je vais tenter de faire quelquechose d'original même si il ne sera pas parfait...
Contribution le : 22/10/2010 10:51
|
_________________
Tuer l'alien, écraser le mutant, bruler l'hérétique.
|
|
Re: Mode achat dans game blender |
|
Fou Furieux du Clan 
Inscrit: 02/11/2008 19:26
Post(s): 238
|
Pour le compteur d'argent, le plus simple serait de passer par un script. Tu peux par exemple créer une property qui serait le nombre d'exemplaires d'un objet, pilotée par les logic bricks, et avec le script tu fais ce nombre multiplié par son prix, tu additionnes le résultat de chaque objet et tu rentres ta valeur dans la property "Text" avec str(). Et même chose que Bobibou : dictionnaire !  @+ 
Contribution le : 22/10/2010 18:09
|
_________________
Guillaume
|
|
Re: Mode achat dans game blender |
|
Fou Furieux du Clan 
Inscrit: 22/05/2010 11:23
Post(s): 176
|
Bonjour.
J'ai régler le problème de compteur d'argent, je devais mettre soit "int" ou "float".
Gui36fr, ce que tu m'écris là m'interesses : Maintenant que j'ai résolut le souci ci-dessus, je me pose 2 questions :
- Je projettes de faire plusieurs versions de coques ainsi que d'armement, etc. Et le prix sera changent, bien entendu.
Question 1 : Puis-je faire cela comme une sorte de "légende" (ex : coque v1 = 1000$, coque 2 = 2000$) et additionner les différents achats.
- Vu que je vais faire plusieurs versions de mes pièces, une fois que j'aurai passer d'un niveau de technologie, il faut remplacer les ancienne versions par des nouvelles.
Question 2 : Comment faire cela dans le dictionnaire ? En faire plusieurs ? Et pour les "textures text" faire de même que dans la question 1 ?
Merci pour vos réponse très "instructifs".
Contribution le : 23/10/2010 15:29
|
_________________
Tuer l'alien, écraser le mutant, bruler l'hérétique.
|
|
Re: Mode achat dans game blender |
|
Fou Furieux du Clan 
Inscrit: 02/11/2008 19:26
Post(s): 238
|
La "légende" comme tu dis, et bien c'est un dictionnaire  Je vais t'expliquer le principe : un dictionnaire est une sorte de liste, une liste composé d'éléments. Tous ces éléments sont entrés dans le dictionnaire comme une liste, sauf que ce ne sont pas des crochets mais des accolades, et ces éléments sont séparés par une virgule. Chaque élément comporte une étiquette et d'une variable. L'étiquette correspond à l'indice de la variable ; l'étiquette peut être de n'importe quel type sauf une liste ou un dictionnaire, la variable peut être de n'importe quel type. On déclare l'élément par son étiquette puis sa variable séparés par 2 points (:). On appelle cette variable comme pour une liste : dictionnaire[etiquette] Petit exemple : >>>dico = {"e1" : 5, "e2" : 6, "ch" : "bonjour", "pos" : [56, -45], 7 : 8, 12 : "douze"}
>>>print(dico["e2"])
6
>>>print(dico[7])
8
>>>print(dico["pos"])
[56, -45]
>>>print(dico[12])
douze
Tu peux de cette manière lister tes prix : prix = {"casque" : 100, "fusil" : 20000, "gilet" : 250} Tu peux également ajouter un élément en faisant directement prix["balles_M16"] = 50 Si l'élément existe déjà, sa valeur sera changée. Pour supprimer un élément, il faut utiliser del : del dico["casque"] Et un dictionnaire ce parcours comme une liste : >>>dico = {"a":1, "b":2, "c":3}
>>>if "c" in dico:
... print(dico["c"])
...
3
>>>for element in dico:
... print(dico[element], " -> ", element)
...
1 -> a
2 -> b
3 -> c
Avec ça tu as tout ce qu'il te faut pour faire ce que tu veux  Pour chaque nouvelle version, tu supprimes et tu ajoutes ! Voila 
Contribution le : 23/10/2010 16:27
|
_________________
Guillaume
|
|
Re: Mode achat dans game blender |
|
Fou Furieux du Clan 
Inscrit: 22/05/2010 11:23
Post(s): 176
|
Extramissime ! Cependant, en tenant compte de ce que tu as écris, puis-je faire ceci : - Au démarrage, le dico "pièce" est vide. - Quand je clique sur le bouton "acheter coque 1", une commande fait ajouter l'objet coque 1 dans le dictionnaire. - Si j'achetes d'autres pièces, faire la même opération pour ceux-ci. - Á la fin, je me retrouve, par exemple, avec un dico qui contient une coque et un canon. - Dans un menu qui permet d'assembler le navire, j'aurai dans ma liste coque 1 et canon 1. Quand je les aurais placés, il seront supprimés du dico. - Si j'achete une 3e pièce mais que je ne l'utilise pas, il sera toujour présent, ok. Mais sera-t-il toujours présent dans le dico une fois que j'ai sauvegarder la partie ou un "profil" joueur (je prévois de faire cela aussi). Je peux avoir ce résultat ?
Contribution le : 24/10/2010 11:08
|
|
|
Re: Mode achat dans game blender |
|
Fou Furieux du Clan 
Inscrit: 22/05/2010 11:23
Post(s): 176
|
Hé bien, pas de réponse 
Contribution le : 28/10/2010 18:10
|
|
|
Re: Mode achat dans game blender |
|
Fou Furieux du Clan 
Inscrit: 02/11/2008 19:26
Post(s): 238
|
Heu... Si c'est par rapport à ta question précédente, oui tu peux obtenir ce résultat. Tu peux créer un dictionnaire pour ton magasin et un autre pour les objets possédés. Pour enregistrer le dictionnaire, passe par le module pickle, il te permettra de retrouver ton dictionnaire directement en faisant dico = pickle.load(fichier) Utilise aussi pickle pour toutes les autres données. Autre chose, lorsque tu "supprimes" un élément du dictionnaire parce que tu l'as placé, n'oublie pas de créer une liste de tout tes éléments placés pour les remplacements ou les annulations à effectuer  Si t'as d'autres questions, au passage... 
Contribution le : 28/10/2010 18:49
|
_________________
Guillaume
|
|
Re: Mode achat dans game blender |
|
Fou Furieux du Clan 
Inscrit: 22/05/2010 11:23
Post(s): 176
|
J'ai lu ton intervention au sujet du module pickle : Voici ce que tu écris au sujet du chargement du dico : import pickle
fichier = open("NomDuFichier.extension", "rb")
variable_1 = pickle.load(fichier)
variable_2 = pickle.load(fichier)
print(variable_1)
print(variable_2)
print(variable_2 + 10.75)
fichier.close()
Je supposes que je ne dois pas écrire que "pickle.load(fichier)" dans mon cas. Si ?  Et pour l'enregistrement d'objets, dois-je écrire des commandes comme "getcurrent controller" ou autre ? Ensuite, j'ai fais ceci pour mon jeu : Un dico vide pour le départ : l'ajout de pièce au dico (c'est là que ça va pas) :
piece["coque 1"] = ("OBcoque 1")
print (piece) # vérifie par ligne de commande si enregistré dans dico
Contribution le : 29/10/2010 10:28
|
|
|
Sujets récemment répondus |
|
|
|
Qui est en ligne
162 utilisateur(s) en ligne (dont 73 sur Forums) Membre(s): 0 Invité(s): 162 plus... Nouveaux membres
Dernier Ajout
Evènements à venir
|