Jump to content
ecnive

Dark Basic

Recommended Posts

non conosco dark basic pro ma se posso,la tua richiesta mi sembra un po vaga!!!! (help vampire?)

Ciao, sono Vincenzo

da come ti esprimi ho capito che saresti un tutor perfetto......ma forse pretendo troppo...

Ho sempre desiderato fare un videogioco..... ed ho provato con visual basic 6.0

ma alla fine ci ho rinunciato....sono quasi sessantenne ....

Ho realizzato con Archicad l'intero territorio del mio paese......strade,case,finestre,porte,alberi etc etc

Sia l'intero territorio che ogni singolo oggetto (casa..finestra..etc) li potrei trasformare in un file 3ds o in un file x

Vorrei fare un videogioco utilizzando l'ambiente quasi reale del mio paese con dei personaggi (realizzati con poser, trasformati in 3ds e poi in file x) virtuali .

Vorrei sapere se è possibile caricare i vari oggetti "X" in modo da andare a ricostruire in dark basic pro l'intero territorio in modo che ,una porta (oggetto) possa aprirsi e magari far entrare o uscire un personaggio .

Ho provato con Dark Basic a caricare un oggetto "X" ma una volta che va in esecuzione mi dice sempre che c'è un errore(non nel codice) e che l'applicazione verrà chiusa.

L'aiuto che ti chiedo è:

1) (come un tutorial passo-passo)... come si carica un oggetto (load object "casa.3ds", 1 ) etc etc

2) L'oggetto deve trovarsi nella cartella dove viene salvato il proggetto? (come anche tutte le altre risorse?)

3) L cinepresa come si carica, come si posiziona

4)perchè oltre a" load image" c'è pure "load bitmap"

5)In visual basic per ogni azione c'è un intestazione di riferimento tipo: formload, formkeydown etc etc mentre in Dark Basic il form è unico e tutto il codice viene scritto uno di seguito all'altro

6)In definitiva mi puoi scrivere il codice relativo al caricamento di un oggetto con la cinepresa e con tutto quello che serve per poterlo finalmente vedere senza che mi dia l'errore?

Sono sicuro di chiederti troppo.... ma ,leggendo le tue risposte ad altri che ti hanno chiesto qualcosa, sono sicuro che non ti tirerai indietro.......

Sei la mia unica speranza..

Grazie Vincenzo

Share this post


Link to post
Share on other sites

Ciao

1) Per creare un oggetto e visualizzarlo

Set Display Mode 1024,768,32

Sync On:Sync Rate 1000


Make Object Cube 1,10   :Rem Crea un cubo con lato di 10 unità 

Position Object 1,0,0,0	:Rem posiziona l'oggetto Cubico alla coordinata x,y,z con i valori a 0,0,0

Position Camera 0,0,-100 :Rem Posiziona la camera predefinita nelle coordinate 0,0,-100


Do

   NuovoAngoloY=WrapValue(NuovoAngoloY)+1

   Yrotate object 1,NuovoAngoloY :Ruota l'oggetto sull'asse Y 

   Point Camera 0,0,0   :Rem Coordinate dell'Obbiettivo della camera

   Sync :Aggiorna lo schermo

Loop
2) Per caricare un oggetto e visualizzarlo al posto di creare il cubo
Set Display Mode 1024,768,32

Sync On:Sync Rate 1000


Load Object "NomeDirectory\Nomefile.X",1	 :Rem Carica l'oggetto 

Scale Object 1,100,100,100 :Rem Mantiene le dimensioni naturali e non scalate (50 = meta'   100=Normale   200 = Grande il Doppio)

Position Object 1,0,0,0	:Rem posiziona l'oggetto Caricato alla coordinata x,y,z con i valori a 0,0,0

Position Camera 0,0,-100 :Rem Posiziona la camera predefinita nelle coordinate 0,0,-100


Do

   NuovoAngoloY=WrapValue(NuovoAngoloY)+1

   Yrotate object 1,NuovoAngoloY :Ruota l'oggetto sull'asse Y 

   Point Camera 0,0,0   :Rem Coordinate dell'Obbiettivo della camera

   Sync :Aggiorna lo schermo

Loop

Note per il caricamento

Caso 1:

-Progetto si tova ad esempio nella cartella "c:\Progetti\Mio Paese 3D" quindi "C:\Progetti\Mio Paese 3d\Mio Paese 3d.DBA"

-Oggetto si trova ad esempio nella cartella "c:\Progetti\Mio Paese 3D" quindi "C:\Progetti\Mio Paese 3d\Mio Oggetto.X"

Allora il percorso di caricamento :

Load Object "Mio Oggetto.X",1 :Rem Carica l'oggetto

Questo perchè il file DBA di progetto e il file X di oggetto si trovano nella stessa cartella

Caso 2:

-Progetto si tova ad esempio nella cartella "c:\Progetti\Mio Paese 3D" quindi "C:\Progetti\Mio Paese 3d\Mio Paese 3d.DBA"

-Oggetto si trova ad esempio nella cartella "c:\Progetti\Mio Paese 3D\RISORSE OGGETTI"

quindi "C:\Progetti\Mio Paese 3d\RISORSE OGGETTI\Mio Oggetto.X"

Allora il percorso di caricamento :

Load Object "RISORSE OGGETTI\Mio Oggetto.X",1 :Rem Carica l'oggetto dalla cartella Risorse oggetti

come puoi vedere si aggiunge solamente il percorso da aggiungere alla posizione del file DBA in esecuzione

Caso 3:

-Progetto si tova ad esempio nella cartella "c:\Progetti\Mio Paese 3D" quindi "C:\Progetti\Mio Paese 3d\Mio Paese 3d.DBA"

-Oggetto si trova ad esempio nella cartella "c:\Progetti\" quindi "C:\Progetti\Mio Oggetto.X"

Allora il percorso di caricamento :

Load Object "..\Mio Oggetto.X",1 :Rem Carica l'oggetto dalla cartella Superiore

come puoi vedere si aggiunge solamente i ..\ (2 puntini lo slash ) per caricare dalla cartella superiore

3) Cinepresa

La cinepresa non si carica , ma si crea.

Le coordinate in cui si trova e le coordinate di puntamento della camera ed altre sue proprietà determineranno cio' che si vedrà in 2d nella bitmap detta fotogramma (frame).

Position Camera 0,0,-100

Point Camera 0,0,0

Automaticamente la camera ruoterà dalla sua posizione per poter puntare la coordinata fissata che è 0,0,0

4)

Bitmap è il contenitore di Image

Immagina Bitmap come un foglio di quadernone e Image come un ritaglio di quel foglio che puo' essere di dimensioni uguali o minori ma non maggiori.

Su bitmap puoi incollare tanti altri fogli ritagliati (image ) e fare il tuo "collage" e questo funziona con ordinamento di priorità di livello

superiore o in secondo piano a seconda delle immagini che incolli per prima o dopo.

La bitmap che vedi è sempre la numero 0 , le altre dalla 1 alla 31 (32 in totale) servono per elaborare immagini senza doverle visualizzare, e per visualizzarle occorrera , inviarle alla bitmap 0.

5) Un pulsante è un disegno in un grafico

REM Se disegni un rettangolo con un Bordo Verde:

Ink Rgb(0,255,0),0 :Rem Colore Verde

Box 0,0,100,40 :Rettangolo per il bordo

Ink Rgb(128,128,128),0 :Rem Colore Grigio

Box 2,2,100-2,40-2 :Rettangolo Grigio per riempire l'Interno

REM e all'interno gli scrivi la "Button1.Caption" o "Button1.Text " così:

Center Text 100/2,20-4 :Rem Scrive il testo nel pulsante

questa puo' essere rappresentata anche come funzione di Paint_Button del vb in dark mettendo alla prima riga e all'ultima riga:

Function Paint_button()

...qui il codice di sopra

EndFunction

Invece per rappresentare l'evento MouseOver sul pulsante non ti resta che conttrollare le coordinate del mouse e confrontarle con le coordinate del pulsante

Invece per rappresentare l'evento Click sul pulsante non ti resta che controllare le coordinare nella funzione mouseOver e controllare se è stato premuto il pulsante del mouse.

Ciao :-)


Edited by DARKTy

Share this post


Link to post
Share on other sites

DARKTy...

ero sicuro che non mi avresti deluso...

grazie per la risposta...

gli ho dato una rapida occhiata ......ma credo di aver capito qualcosa...

Comunque .....se me lo permetti .... vorrei continuare a chiederti....altro

grazie Vincenzo

Share this post


Link to post
Share on other sites

Ho scritto il codice ( 0,meglio, l'ho copiato ) per caricare l'oggetto X,

però vedo soltanto un piccolissimo oggetto in lontananza che va velocemente da sinistra a destra....

ciao Vincenzo

Share this post


Link to post
Share on other sites
Ho scritto il codice ( 0,meglio, l'ho copiato ) per caricare l'oggetto X,

però vedo soltanto un piccolissimo oggetto in lontananza che va velocemente da sinistra a destra....

ciao Vincenzo

Ciao Vincenzo

In questo caso occorre in Fase di Modellazione assegnare l'Origine degli assi xyz dell'oggetto al centro dell'oggetto ,

quindi devi sistemare principalmente asse x e asse z e a piacere asse y (nota con Y intendo la verticale cosi' come in dark basic).

Quindi modifichi l'oggetto con il tuo modellatore, lo salvi , lo converti e lo ricarichi .

Per capire meglio come si sta muovendo l'oggetto aggiungi questa riga che è il piano di riferimento chiamata MATRIX e che serve anche per i terreni.

Il reticolato della matrice inizia dalla coordinata 0,0,0 , ma puoi posizionare la matrice a tua scelta.

REM Creazione Matrice (da scrivere dopo le impostazioni dello schermo e della SYNCronia e Prima del ciclo principale (Do - Loop) )

Make Matrix 1,1000,1000,50,50

Se vedi ancora il tuo oggetto piccolo :

1) puoi avvicinare la camera che l'ho allontanata di -100 unità in direzione della Profondità cioè Z=-100

2) oppure scalare l'oggetto con il comando Scale object 100*N,100*N,100*N dove N è il rapporto di ingrandimento in scala se è >1

Ciao.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...