Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Picture *VB*

Sivun loppuun

(nimetön) [03.07.2002 19:49:54]

#

miten saa silleen että picturesta ei voi mennä läpi

Pekka Kauppila [03.07.2002 20:38:26]

#

Selitä hieman tarkemmin mitä tarkoitat.

(nimetön) [04.07.2002 17:09:10]

#

No silleen että jos on vaikka *maze* peli silloinhan ukkeli joka seikkailee menee seinien läpi jos ei laita jotain jutskaa siihen(jota en tiiä), niin että voitko sinä tai joku muu kertoa sen minulle? siinä se oli.

(nimetön) [04.07.2002 17:55:52]

#

Selaa edellisiä viestejä...

trinit [04.07.2002 20:38:57]

#

No yritetään selvittää...

Oletan että sinulla on yksi Picture (hahmo) jota liikutetaan näppäimillä ja tämä hamo taas liikkuu tasossa missä on toisia PictureBoxeja (seiniä ym.) ja taso on kaksiulotteinen.

Sinun pitää verrata hahmon koordinaatteja (Left, Top), joihin on lisätty hahmon leveys sekä korkeus, ja tason muiden esteiden koordinaatteihin. Eli jos olet liikuttamassa hahmoa:

Oikeaan mennessä:
if (hahmo.left + hahmo.width) = este.left and hahmo.top = este.top then TörmasitSeinään

Vasempaan mennessä:
if hahmo.left = (este.left + este.width) and hahmo.top = este.top then TörmäsitSeinään

Ylöspäin mennessä:
if hahmo.top = (este.top + este.height) and hahmo.lef = este.left then TörmäsitSeinään

Alaspäin mennessä:
if (hahmo.top + hahmo.height) = este.top and hahmo.left = este.left then TörmäsitSeinään

Siinä oli periaate tarkistusrutiinille. Em. periaatteessa on vain se paha puoli, että aliohjelma TörmäsitSeinään suoritetaan vasta sitten kun _jo ollaan_ esteen päällä. Tarkistusrutiinin pitää siis mennä "askeleen edellä" jotta se toimii kuten kirjoitin.

Mutta se on helppo tehdä käyttämällä kahden kertotaulua... ;)

(nimetön) [06.07.2002 20:15:06]

#

mihin noi pitää laittaa
(Form_load
koodi
End Sub)?

(nimetön) [06.07.2002 20:17:16]

#

Pitääkö laittaa
Form_Load
koodi
End Sub
vaiko joku muu

trinit [07.07.2002 17:16:44]

#

If lauseet pistät jonkin sellaisen tapahtuman sisään, jossa esimerkiksi lasketaan uudet koordinaatit hahmolle kun sitä siirretään. Ei niitä ainakaan Form_Load tapahtuman sisään kannata laittaa, koska _Load ajetaan vain silloin kun formi ladataan.

Ja kai huomasit että kirjoittamani koodi ei ole sellaisenaan toimivaa, vaan sinun pitää muokata se omaan ohjelmaasi/peliisi sopivaksi?

(nimetön) [07.07.2002 18:34:34]

#

EN TAIJUA

trinit [07.07.2002 20:08:50]

#

No sitten kannattaa opetella jollakin helpommalla tavalla VB:tä kuin yrittämällä tehdä heti peliä tai muuta vaativampaa ohjelmaa. Visual Basic:n ohjeetkin ovat erittäin selkeät ja hyvät opetteluun mikäli vain ymmärtää englantia jonkin verran.

Ja tapahtumalla siis tarkoitin sellaista subbia tai funktiota joka ajetaan silloin kun jotain tapahtuu ohjelmassa. Esimerkiksi TextBox:n "Private Sub Text1_Change() ... End Sub" tapahtuma ajetaan silloin kun tekstin sisältö tekstikentässä muuttuu.

mikko [07.07.2002 20:24:04]

#

"miten saa silleen että picturesta ei voi mennä läpi"

Oletkos Klick&Play - ohjelmoija?

thefox [07.07.2002 20:31:28]

#

"Oletkos Klick&Play - ohjelmoija? " -- Ohjelmoija? :)
ER, opettele ensin käyttämään VB:tä edes siedettävästi ja vasta sitten suunnittele isompia projekteja. Jos et tiedä vielä edes mikä Form_Load-eventin idea on niin turha yrittää mitään peliä vielä :>

mikko [07.07.2002 20:32:07]

#

No "ohjelmoija" sit :)

(nimetön) [09.07.2002 09:50:27]

#

MINÄ OLEN VISUAL BASIC OHJELMOIJA ETTÄ REVI SIITÄ
kuulitko "mikkot"

mikko [09.07.2002 10:28:33]

#

Selvä. :)

tomaattigeeni [09.07.2002 10:53:11]

#

Visual Basic ohjelmoija eikä tajua noin helppoa esimerkkiä?

vipemype [09.07.2002 11:00:28]

#

Lol, eheheheee. Joo sori oli ihan pakko sanoa toi =)

HtH [10.07.2002 22:59:19]

#

Joo, ei näissä ohjelmointipuuhissa pidä liian nopeasti edetä, teet vaikka ensin tekstiseikkailua, eikä suoraan mitään tasohyppelypeliä. Jos et ala vieläkään ymmärtämään, kannattaa odottaa, että kasvat pari vuotta, ja sitten koitat uudelleen ;)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta