View previous topic :: View next topic |
Author |
Message |
WhiteFalcon
Joined: 16 May 2010 Posts: 102 Location: Rīga
|
Posted: Sun Jun 20, 2010 7:21 pm Post subject: Noapaļota Pozīcija |
|
Labs vakars. Atkal pie jums griežos ar kārtējo problēmu,jautājumu.
Problēma: Gribēju grafiski attēlot Pasaules 2D Koardinātes lai būtu vieglāk salikt objektus..stavošus auto untt..
Bilde:
Vietā kur stāv spēletajs koardainātēm vajadzētu būt pie 0 jeb ~ 50,40.(proti ūdens sākums)
_______>x
|0 1 2
|1
|2
V
Y
Jautājums: Kā lai viņas noapaļo un kā lai viņas sāk skaitīt no 0 kur ir īsta poicija jo liekot pec koardinātem ko attelju saliktie objekti neatroda tur.. :D
Domāju ka pie vainas ir kamera.. tā varētu mainīt poziciju. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Mon Jun 21, 2010 12:06 pm Post subject: |
|
Uz tavu jautājumu nevar atbildēt, ja nezin kā tu tur visu skaitļo, kā renderē, kā uzstādi pozīcijas tekstūrām/poligoniem, utt..
Atbilde uz tavu jautājumu "kā lai viņas sāk skaitīt no 0" burtiski ir tieši tāda - tā arī skaiti no 0. Ja x=0, tad koordināte ir 0. Nekas sarežģītāks tur nav.
P.S. Skrīnšotus var taisīt arī ar Alt+PrintScreen, visu tavu desktopu mums redzēt nevajag :) |
|
Back to top |
|
|
WhiteFalcon
Joined: 16 May 2010 Posts: 102 Location: Rīga
|
Posted: Mon Jun 21, 2010 12:28 pm Post subject: |
|
Kā jau teicu skaitļi tiek pielidzinati istajai pozicijai
Code: | float Xpos;
float YPos;
float Rot;
Xpos = Pozicija.X;
YPos = Pozicija.Y;
Rot = Rotacija;
spriteBatch.DrawString(InfoSp, Xpos+ "|" +YPos, new Vector2(14, 14), Color.White);
spriteBatch.DrawString(InfoSp, "|" +Rot , new Vector2(14, 34), Color.White); |
Bet kā lai es viņu uztaisu par 0 tur kur tai vajag būt 0?
Labi laikam kartes veidotaja uzstadišu punktu pec kura noteikšu koardinates... jo tur es neizmantoju tādu kameru kā spele.
Quote: | P.S. Skrīnšotus var taisīt arī ar Alt+PrintScreen, visu tavu desktopu mums redzēt nevajag |
Tur tā pat teču nevar neko redzet -izņemot atvērtās programmiņas.. Paldies vismaz tagad zināšu kā var skrīnot attiecigu programmu jo pirmstam nacas griest nost maliņas |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Mon Jun 21, 2010 12:40 pm Post subject: |
|
Quote: | Bet kā lai es viņu uztaisu par 0 tur kur tai vajag būt 0? |
Grūti saprast, ko tieši tev vajag. :/
Bet nu ja izskatās, ka kāda objekta koordinātas seko kamerai, tad vienkārši izmanto citu mainīgo - to, kur tās nav pārnestas uz kameras telpu. _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
WhiteFalcon
Joined: 16 May 2010 Posts: 102 Location: Rīga
|
Posted: Mon Jun 21, 2010 1:12 pm Post subject: |
|
Nu labi,pieņemsim nolieku objektu uz vector2(0,0) pozicijas tātad sanak ka man jāņem attālums starp speletaju un Nolikto obejktu tikai kā lai to aprēķina?
Obejkts atrodas uz vector2 NultaPozicija = new Vector2(0,0);
Speletajs -uz savas;
Lai iegutu Xpos = NultaPozicija jaskaita/jatņem/jareizina.. Pozicija
? |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Mon Jun 21, 2010 1:50 pm Post subject: |
|
Šajā gadījumā no 0 jāatņem pozīcija. Bet es nesaprotu, kāpēc tev to vajag.. _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
WhiteFalcon
Joined: 16 May 2010 Posts: 102 Location: Rīga
|
Posted: Mon Jun 21, 2010 3:56 pm Post subject: |
|
Man to vajag,lai būtu pēc iespējas vieglāk salikt objektus ,jo karte kur ir 200 "tile" un katra flize ir 80 pix gara kopumma veidojot 16000px lielu laukumu kurā kko likt uz "haļa*u" ir aplami. Tādēļ spelejot speli vietas kur gribēšu kautko nolikt pieraktīšu koardinātes. kuras vēlāk izmantošu kā objekta poziciju.
----------------------------------------------------------------------------
Izmantojot
Xpos = NultaPozicija.X =- Pozicija.X;
kautkur tiek pazaudēts skaitss jo nepieejot 0 pozicijai no - tā kļust par +170... |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Mon Jun 21, 2010 4:31 pm Post subject: |
|
Nav vienkāršāk salikt pašus objektus tajā kartē? _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
WhiteFalcon
Joined: 16 May 2010 Posts: 102 Location: Rīga
|
Posted: Mon Jun 21, 2010 6:06 pm Post subject: |
|
ja doma caur karšu veidotāju tad man ir vajadzīgi attiecigi objekti kā tādi.. |
|
Back to top |
|
|
Arrovs
Joined: 10 Mar 2007 Posts: 96 Location: Saldus
|
Posted: Mon Jun 21, 2010 8:25 pm Post subject: |
|
Izklausās samerā vienkārši risināt šo problēmu.
0 ir lieta, kuru te nemaz nevajag.
Gribi, lai bīdās kamera, bīdi karti.
vieta_X=pos_x - spēlētājs_X
vieta_Y=pos_y - spēlētājs_Y
šis ir viens variants, kad ir stacionāras vērtības atrašanās vietai, kuras var ņem vai nu no masīva vai objekta - jeb no tā kā tev ērtāk.
Bet vizuāli jātaisa tā lai bilžu pozīcijas atbilstu centram vai arī kā tev tas nepieciešams pret kameru(ekrānu) jeb bīda spēlētāja koordinātes tikai kodā, bet varoņa_bilde.pos_x(Left vai kā tur ir) uztur pret centru nu tur tālāk cerams tu pats sapratīsi.
Otrs variants būs tad, kad karti bīdīsi ar to soli, ko būtu jābīda varonis.
Līdz ar to varonis vispār nemainītu koordinātes, bet gan karte(man jau vispār liekas daži trūkumi šādam variantam).
Un gan jau ir citi varianti.
Ar roku tev neko nav jāvada - uztaisi kādu ciklu, kas automātiski visu sataisa. _________________ Arrovs komanda |
|
Back to top |
|
|
|