Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Per totem - Consigli
Forum - C# / VB.NET - Per totem - Consigli

Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2173
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 18:41
Sabato, 19/07/2008
Ciao totem chiedo a te,
perche sie un maestro delle stringhe,
e sulla lettura dei file esterni.

Queste cose che dirò mi aiuteranno tantissimo nel mio progetto e spero di riuscirlo veramente a concluderlo.

ho solo un paio di domande da fare nulla di che.



Lettura Texture Esterne Caricandole da file:

Punto 1




Nel mio Editor di livelli, ho realizzato un file tipo pack1.dat

che va posizionato in una directory dove contine all'interno tutti i nomi delle texture che va a caricaricare con un while

Vorrei fare in modo che mi crei una specie di contenitore dove va a creare dinamicamente altre pciturebox che hanno l'immagine caricata dal file.
tipo un contenitore di immagini che vengono visualizzate.
esempio:

ci sono 7 texture nel pack1.dat

dovrebbe crearmi dinamicamente 7 picturebox,
ogni picture box deve contenere quella texture

e possibile fare una cosa del genere?


Guarda questa immagine del mio editor di livelli
come vedi in basso esiste solo una texture
a me servirebbe in modo di realizzare un contenitore
di texture :/ consigli?

http://img354.imageshack.us/img354/7700/futureqa4rr9.png


Manipolazione di Stringe e Saparatore ,
Punto 2°


Quest'altra cosa rigurda come prima dicevo
che leggeva dal file tramide un while
rimuoveva il simbolo  :  e recuperava il testo
che proseguiva

Essendo che a breve dovrò predisporre una tecnica di Billboarding in 3d, mi seriverebbe un'altro formato di stringa esempio:

Codice sorgente - presumibilmente Plain Text

  1. tile:albero.png
  2. vert:0,-10,50



come vedi qui in vert sarebbe il vector3D cordinate x y z e ci sono ben 2 saparatori :/
potresti consigliarmi come recuperare il tutto?
eliminado il primo segno :  e poi  ,
te ne sarei molto grato.

mi servirebbe per piazzare oggetti in cordinate precise leggendole dal file

http://img368.imageshack.us/img368/7408/immaginesx2.png




Varibili o array o boh
Punto 3

Qui la cosa e un pò piu complessa da spiegare

come saprai un gioco e strutturato in modo che abbia piu immagini, piu texture, piu mesh, e varie cordinate.

e possibile in un qualche modo generare una variabile recuperandola da un file?

perche bhe
se pensiamo che sia un mmorpg come diavolo farà
a creare altri personaggi?

con relative cordinate
questo proprio non riesco a capirlo :/

http://img376.imageshack.us/img376/8579/future2qu2.png

con questo e tutto spero che potrai aiutarmi :/


Ultima modifica effettuata da Thejuster il 19/07/2008 alle 18:54


PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:09
Domenica, 20/07/2008
1) ListView con View = LargeIcon ti permette di visualizzare anche delle icone sopra gli elementi. Queste icone non sono file *.ico, ma immagini ti tipo qualsiasi e di qualsiasi dimensione che vengono caricate da un contenitore di immagini ImageList. Se tu crei un'ImageList, la riempi con le texture di cui hai bisogno, imposti il riferimento ListView.LargeImageList su quell'ImageList e poi aggiungi elementi con ImageKey o ImageIndex corrispondenti, avrai una lista contenente le tue texture. Per ulteriori informazioni sull'argomento:
http://totem.altervista.org/guida/versione2/B14.php
http://totem.altervista.org/guida/versione2/B15.php

2) Ricordati che se hai due campi dovrai leggere due righe alla volta. Una volta separata la linea basandosi su ":", separi ancora la seconda parte basandoti invece su ","
Codice sorgente - presumibilmente VB.NET

  1. Dim Values() As String = Line.Split(":")
  2. If Values(0) = "vert" Then
  3.   Dim Coords() As String = Values(1).Split(",")
  4. End If



3) Qui entra in gioco la vera programmazione ad oggetti. Infatti, se ammetti che ogni giocatore sia rappresentato da un singolo oggetto (Player ad esempio), basta creare un nuovo Player e aggiungerlo alla lista di tutti i giocatori online. Per la manipolazione dinamica di lista si usano questi tipo: ArrayList, HashTable, SortedList, List(Of T), Dictionary(Of TKey, TValue). Puoi ottenere altre informazioni su questi tipi qui:
http://totem.altervista.org/guida/versione2/A16.php
http://totem.altervista.org/guida/versione2/A41.php

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2173
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 12:08
Domenica, 20/07/2008
ti ringrazio molto della tua disponibilità totem
sei la mia salvezza, grazie mille :k:

quindi in pratica riguardando il punto 3°

intendi tipo una cosa del genere

Codice sorgente - presumibilmente VB.NET

  1. public logid as integer = 0
  2.  
  3. dim user as New array
  4. dim cordx as new array
  5. dim cordy as new array
  6.  
  7.  
  8. logid += 1
  9. user.add(username)
  10. cordx.add(xpos)
  11. cordy.add(ypos)



intendi questo + o meno giusto?

Ultima modifica effettuata da Thejuster il 20/07/2008 alle 12:20


PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:36
Lunedì, 21/07/2008
Perchè Array? Array è una classe priva di costruttori, quindi inutilizzabile, e poi non espone il metodo Add. Io ti ho detto ArrayList (o List(Of T)). E inoltre, è inutile usarne due quando ne puoi utilizzare una sola che contiene singoli punti:
Codice sorgente - presumibilmente C# / VB.NET

  1. Dim Points As New List(Of Point)
  2.  
  3. Points.Add(New Point(XPos, YPos))


PM Quote