(1) 2 3 4 ... 9 »


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
Créer un fichier PDF de la contribution Imprimer


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
_________________
Tuto MaPZone
Créer un fichier PDF de la contribution Imprimer


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.
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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.
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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 :

piece = { }


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
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 3 4 ... 9 »




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses [non résolu] Problème Aspect du verre (Glass BSDF) 3 147 Aujourd'hui 16:55:18
tulipe-rouge 
[WIP] et travaux terminés Bonjour à tous, une vanité moderde 2 37 Aujourd'hui 16:37:06
tulipe-rouge 
Questions & Réponses Adaptation terrain 6 137 Aujourd'hui 16:36:02
Vinke013 
Moteur de jeu GameBlender et alternatives [WIP] Godot Engine - Projet Arsenal 9 265 Aujourd'hui 10:21:34
Redstar 
Questions & Réponses Texture importée déformée... HELP 2 100 Aujourd'hui 09:50:36
Jreno 
Graphisme alternatif faire de la bd avec blender    [1][2][3]...[11] 100 6937 Hier 21:31:49
blend74 
Questions & Réponses Maillage et système de particules 4 92 Hier 21:00:34
yawdpwal 
Questions & Réponses Rigging: Soucis au niveau du weight painting, obtenir un meilleur résultat lors d'un étirement ? 1 299 Hier 19:19:19
Helowan 
Questions & Réponses Couleur de peau 1 186 Hier 07:22:23
Horemheb 
Questions & Réponses image as plane: éviter les ombres 5 134 25/09 19:07:45
blend74 
Questions & Réponses Blender et Mac, faisons le point 6 161 25/09 11:26:02
Bibi09 
Graphisme alternatif Dessiner à la tablette avec Krita : demande conseils    [1][2] 17 27787 24/09 16:49:32
blend74 
Hors Sujet !! un visage avec Blender tutoriel facile débutant 1 321 24/09 16:44:38
blend74 
Hors Sujet !! Sappling gen generateur d'arbres - tuto blender 6 1136 24/09 16:43:30
blend74 
Questions & Réponses Blender et Mac, faisons le point 0 63 24/09 09:11:50
ludo66 
Questions & Réponses Aplanir plusieurs surfaces à la fois 3 85 24/09 02:45:51
Vinke013 
Questions & Réponses message d'erreur help 0 67 23/09 12:45:05
blend74 
Graphisme alternatif les addons pour blender : bumarin etc    [1][2] 13 636 23/09 11:13:07
blend74 
[WIP] et travaux terminés Anatomie open source dans Blender    [1][2] 10 1512 23/09 00:26:54
meltingman 
Questions & Réponses Smoothing groups ou équivalent ? (3dsMax to Blender)    [1][2] 12 612 22/09 20:12:19
lucky 

Qui est en ligne
124 utilisateur(s) en ligne (dont 63 sur Forums)

Membre(s): 6
Invité(s): 118


GenevieveH, AhmedCrowt, QuinnThrea, ElvaZ86765, MarcusNich, DenishaCro, plus...
Nouveaux membres
WilbertLay 27/9/2021
DamionN649 27/9/2021
WinifredCl 27/9/2021
MikeString 27/9/2021
JQPJuliann 27/9/2021
MiraAndrus 27/9/2021
ClarissaSc 27/9/2021
EdwinaJelk 27/9/2021
PatsyHaris 27/9/2021
Russell83V 27/9/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Oct 8
Anniversaire du Grand Mechant Fadge
Nov 18
Anniversaire de RichDeg
Dec 29
Anniversaire d'ebrain
plus 248 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445