Page 1 sur 1

Création d'un logiciel de dessin - Quelques questions

Publié : mer. 23/févr./2011 0:23
par blendman
salut

Avant de me lancer dans la création de mon RPG, j'essaie de me familiariser avec Purebasic et la programmation.

Pour cela, j'essaie de refaire le début de logiciel de peinture numérique que j'ai réalisé avec Game Maker .
Je ne connais ni le basic ni d'autres langages, je codais en langage de scripts assez simples avec game maker (le GML), j'aimerai donc refaire le début de logiciel que j'ai réalisé avec GM (animatoon, disponible ici pour ceux qui veulent tester : http://www.host-a.net/u/blendman/animatoon0.2.81.zip)

Voici donc où j'en suis avec purebasic (j'ai commencé aujourd'hui : le logiciel et les tutoriaux) :
http://blendman.free.fr/animatoon/animatoon.zip

Le fichier principal est animatoon0.0.1.pb
à compiler avec pb 4.51 (la dernière version, version démo pour le moment).

Mais je rencontre déjà quelques problèmes.
- Tout d'abord, je n'ai pas bien compris comment fonctionnent les gadgets et notamment les gadgets MDI. Et la documentation ne m'a apporté les réponses que je cherchais.
- 2ème bug (lié au 1er je pense) : lorsque je crée une nouvelle fenêtre "fichier/nouveau document, le programme se ferme. A nouveau, il y a quelque chose qui m'échappe :).

Ce que j'aimerai réaliser :
- c'est assez simple : un système de panneau façon photoshop : panneau nuancier, outils, calques, etc..

Faut-il utiliser les MDi, et si oui, comment dois-je m'y prendre ?
Sinon, que faut-il utiliser ?

Autre question (en avance) :
- sur quoi vais-je pouvoir dessiner ? Existe-t-il un système comme le surface de directX, ou ce genre de chose pour dessiner ? Dois-je utiliser un sprite de la taille de ma surface de travail ? ou un écran ?
J'aimerai créer un système de calque, donc, il faudrait une surface qui gère la transparence, mais je ne sais pas ce que je dois utiliser.

Merci pour vos réponses et vos informations.

Je continue à regarder les tutoriaux et autres cours disponibles ;).

Re: Création d'un logiciel de dessin - pb avec les gadgets/M

Publié : mer. 23/févr./2011 11:39
par jbernard13
Bonjour Blendman

c'est pas mal ce tu as fait
mais si tu veux continuer plus loin faut mieux que tu achete Purebasic
est ce ton logiciel sera uniquement pour window?
c'est juste pour savoir car avec purebasic tu peux travaillé avec les api de windows .
en suite pour dessiner ton interface tu as Pureforms crée par Gnozal .

Re: Création d'un logiciel de dessin - pb avec les gadgets/M

Publié : mer. 23/févr./2011 12:13
par blendman
jbernard13 a écrit :c'est pas mal ce tu as fait
mais si tu veux continuer plus loin faut mieux que tu achete Purebasic
est ce ton logiciel sera uniquement pour window?
c'est juste pour savoir car avec purebasic tu peux travaillé avec les api de windows .
en suite pour dessiner ton interface tu as Pureforms crée par Gnozal .
salut Jbernard13

J'aurai bien aimé que ce soit aussi pour mac et linux, mais si ce ne tourne que sous windows, et bien ce sera déjà ça ;).

Je compte acheté purebasic dès que je serai un peu plus avancé, mais je suppose que pour réaliser un logiciel de ce type, il faudra de toute façon utiliser les api windows, non ?

J'ai télécharger Pureforms, mais je n'ai pas encore regardé ce que ça donnait.

Merci pour ta réponse.

EDIT : bon, j'ai compris un de mes bugs :
- visiblement, on ne peut créer qu'un seul type de mdi gadget par fenêtre principale car, ce mdi s'attache au menu de la fenêtre principal et on ne peut créer qu'un seul menu par fenêtre.

Donc, un nouvelle question : comment crée-t-on des petits panneaux ? car visiblement, ce n'est pas avec les mdi gadgets qu'on fait ça si j'ai bien compris. Merci.

Re: Création d'un logiciel de dessin - pb avec les gadgets/M

Publié : mer. 23/févr./2011 18:56
par jbernard13
Bonsoir

as tu essayé les onglets avec PanelGadget ?

Re: Création d'un logiciel de dessin - pb avec les gadgets/M

Publié : jeu. 24/févr./2011 11:50
par jbernard13
je travaille pour crée l'interface de ton logiciel .

Re: Création d'un logiciel de dessin - pb avec les gadgets/M

Publié : jeu. 24/févr./2011 16:16
par blendman
jbernard13 a écrit :je travaille pour crée l'interface de ton logiciel .
c'est très gentil, dis donc :).

moi, aussi j'y ai un peu travaillé :).
D'ailleurs, il y a des petites questions que je me posais :
- pour dessiner, je suppose qu'il faut utiliser StartDrawing(Ouput) et choisir comme output : ImageOutput(#Image ) ? C'est léquivalent d'une surface directX, c'est ça ? Ou vaut(il mieux choisir autre chose, comme ScreenOutput() ou SpriteOutput() ?
- pour créer un panneau flottant, je dois utiliser les mdi, c'est ça ?

Autre question :
J'ai suivi ce tutoriel (en plus des autres nombreux tutoriaux que j'ai regardé) :
http://tripamort.free.fr/?q=node/12

Et lorsque je compile le code et lance l'application, purebasic me dit que la fonction :
ClearGadgetItemList(#champ ) est obsolète.
Cependant, si je l'enlève, le texte n'est plus effacé lorsque j'ouvre un fichier texte. Donc, j'ai l'impression que cette fonction est encore bien utile, non ?


Merci :).

Re: Création d'un logiciel de dessin - Quelques questions

Publié : jeu. 24/févr./2011 18:56
par jbernard13
peux tu posté ton code svp

Re: Création d'un logiciel de dessin - Quelques questions

Publié : jeu. 24/févr./2011 20:30
par blendman
jbernard13 a écrit :peux tu posté ton code svp
salut. Le code de quoi ?
Avec l'erreur" ClearGadgetItemList(#champ ) est obsolète". Ou celui de mon projet animatoon ?

Re: Création d'un logiciel de dessin - Quelques questions

Publié : jeu. 24/févr./2011 20:56
par falsam
@blendman : ClearGadgetItemList(#Liste) est effectivment obsolete mais par souci de compatibilité je pense que cette fonction est maintenu. Remplace ClearGadgetItemList(#Liste) par ClearGadgetItems(#Liste)

Comme d'habitude, un peu de code pour illustrer tout ça :)

Code : Tout sélectionner

Procedure MainFormShow()
  OpenWindow(#MainForm,0,0,500,300,"Nouvelle application",#PB_Window_ScreenCentered | #PB_Window_SystemMenu)
  ListViewGadget(#Liste,5,20,300,250)  
  ButtonGadget(#ClearListe,310,20,80,19,"Clear Liste")
  
  
  For i=1 To 10
    AddGadgetItem(#Liste, -1, "Item "+Str(i))
  Next
  
  
EndProcedure


MainFormShow()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
      If #ClearListe
        ClearGadgetItems(#Liste)
      EndIf

    Case #PB_Event_CloseWindow
      End
  EndSelect
ForEver

Re: Création d'un logiciel de dessin - Quelques questions

Publié : ven. 25/févr./2011 11:05
par djes
Je ne peux pas trop t'aider sur les interfaces, mais de nombreux membres sont très calés là-dessus, sur le forum français et anglais. A mon avis ils ne vont pas tarder à réagir.
Sinon j'ai testé ton petit logiciel, c'est déjà vraiment bien! Perso j'utilise Aura, qui maintenant s'appelle TVPaint Animation ; c'est un logiciel français d'excellente facture qui a une très très bonne réputation dans le milieu de l'animation. L'avantage aussi est qu'il s'intègre plutôt bien à la création de jeux, par ex il gère depuis -toujours!- les PNG avec couche alpha, et surtout il est très très rapide, à tel point qu'il est l'un des seuls à donner le feeling naturel avec tous les outils de dessin, si tu as une tablette.