View Full Version : [JAVA] Disegnare a livelli
bobby1112
23-05-2009, 09:39
salve ragazzi ho questo problema sto implementando un gioco in java e ho questo problema, ho un panel Mondo dove si svolge tutto il gioco su questo panel Mondo c'è un pulsante Menù premendo questo pulsante dovrebbe scendere a tendina un 'altro pannello sul panel mondo mi sapete dare qualche consiglio Grazie:mc:
in genere quando si programmano videogames é raro persino utilizzare la grafica standard del toolkit (Java2D in questo caso), figuriamoci idee fantasiose con spostamenti di componenti; puoi anche farlo ma il risultato sará probabilmente disastroso. ora non é per essere distruttivo nei confronti del tuo lavoro ma solitamente per un videogame si usa un rasterizzatore di poligoni come OpenGL :D
Ma be, per fare roba 2d si può anche fare, mica che si deve fare 3d per forza :D
Per quanto java2d fa venire qualche dubbio anche a me :asd:
Mi spiace non poter aiutare perchè coi menù di java ci faccio regolarmente a botte... però forse la domanda è un pò generica.
Java2D è un'astrazione di una pipeline di rendering 2D di cui esistono tre versioni concrete nella piattaforma Java SE derivata da OpenJRE, una che usa OpenGL (per linux, windows, osx e solaris) una che usa Directx (per windows) e una "software".
Scarterei quindi l'idea che Java disegni immagini e poligoni 2D usando la nutella.
Per il menu a tendina dipende se usi Java2D nudo e crudo oppure AWT o Swing.
Nel caso di Swing puoi usare un "glasspane" con un LayoutManager ad hoc che ti permetta di variare la posizione di un componente all'interno del suo contenitore. Per AWT puoi un contenitore con un OverlayLayout a cui aggiungi un secondo pannello che si comporti come il glasspane di prima. Se usi direttamente Java2D allora devi semplicemente aggiungere nel ciclo di rendering un meccanismo per introdurre un nuovo sprite e lavorare su quello.
Scarterei quindi l'idea che Java disegni immagini e poligoni 2D usando la nutella. per caritá, non dicevo questo: sapevo anche io dell'implementazione efficiente, ma il problema non é l'implementazione quanto piuttosto l'interfaccia API esposta; io mi troverei "scomodo" a programmare un videogame (anche 2D) utilizzando sistemi di grafica vecchio stile con tecniche tipo blitting e XOR masking :) usare dei componenti grafici come JPanel poi é del tutto fuori discussione, anche perché a quel punto possono verificarsi situazioni in cui bisogna lavorare per evitare il flickering causato dalla sovrapposizione dei controlli. perché farsi del male? secondo me un rasterizzatore di poligoni é la cosa migliore, permette anche in un eventuale ipotetico futuro di aggiungere effetti grafici sconvolgenti basati su pixel shading, vertex shading e tutta quella roba lá :D
"the right tool for the right job"
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.