Page 1 of 23
Tyhmät kysymykset (I/2012)
Posted: Sun Jan 01, 2012 5:12 pm
by Hene
VesQ wrote:Jatketaan perinteikästä linjaa ja pilkotaan jättiketju pienempiin osiin. Sarjan edelliset viestiketjut ovat:
Tyhmät kysymykset (I/2009)
Tyhmät kysymykset (II/2009)
Tyhmät kysymykset (I/2010)
Tyhmät kysymykset (I/2011)
Ylläpito pilkkoo kaikki yli 100-sivuiset aiheet jatkoketjuiksi. Lisäksi aloitetaan uusi ketju vuosittain.
Tyhmät kysymykset - tarkoitus
Törmäsitkö ongelmaan, jonka tiedät olevan oikeasti ihan helppo, mutta ratkaisu ei vain osu silmään? Onko ongelmasi niin vähäpätöinen, ettei sitä varten kannata tehdä uutta ketjua?
Alkuperäisen ketjun johdanto meni näin:
iTKEVAnAKKI wrote:Eli tänne kaikki yksinkertaiset kysymykset johin et ole keksinyt ratkaisua. Mutta muistakaa, että käytätte ensin hakua!
Saakos addtext -komennolla kirjoitettua tekstiä automaattisesti rivitettyä mitenkään (lue: kohtuullisen helposti)? Ärsyttää kun pitäisi joku pitkä teksti saada helposti ruutuun (ja ilman ylimääräisiä tekstitiedostoja), muttei jaksaisi jakaa jokaista lausetta aina erikseen omalle rivilleen.
Re: Tyhmät kysymykset (I/2011)
Posted: Sun Jan 01, 2012 6:58 pm
by Sly_Jack0
Re: Tyhmät kysymykset (I/2011)
Posted: Sun Jan 01, 2012 8:55 pm
by seancarrion
Miten saisi tehtyä peliin taustakuvan tilejen taakse ILMAN että se liikkuu hahmon mukana?
Re: Tyhmät kysymykset (I/2011)
Posted: Sun Jan 01, 2012 9:00 pm
by Frozen
seancarrion wrote:Miten saisi tehtyä peliin taustakuvan tilejen taakse ILMAN että se liikkuu hahmon mukana?
no yksinkertaisinta olisi piirtää drawimagella kuva. Kuva jää silloin objektien ja tilemapin alle, kun komento on ennen drawgamea
Re: Tyhmät kysymykset (I/2011)
Posted: Sun Jan 01, 2012 9:09 pm
by seancarrion
Frozen wrote:seancarrion wrote:Miten saisi tehtyä peliin taustakuvan tilejen taakse ILMAN että se liikkuu hahmon mukana?
no yksinkertaisinta olisi piirtää drawimagella kuva. Kuva jää silloin objektien ja tilemapin alle, kun komento on ennen drawgamea
Öö siis minulla on jo taustakuva joka on kaiken alla, mutta se liikkuu kun minä liikun. Haluan että kuva pysyy paikoillaan kun hahmo ja kamera liikkuu.
Re: Tyhmät kysymykset (I/2011)
Posted: Sun Jan 01, 2012 9:11 pm
by phons
No tuo johtuu siitä että kuva piirretään ruutuun ei pelimaailmaan. Piirrä kuva vaikka pelimailmaan DrawToWorld komennolla. Sieltä Helpistä löytyy kyllä.
Re: Tyhmät kysymykset (I/2011)
Posted: Sun Jan 01, 2012 9:14 pm
by seancarrion
saisiko esimerkkikoodin?
Re: Tyhmät kysymykset (I/2011)
Posted: Sun Jan 01, 2012 9:16 pm
by Frozen
Tätäkö siis halusit?
Code: Select all
DrawToWorld ON
Kenttä = LoadMap("Media\cdm2.til","Media\tileset.bmp")
tausta= LoadImage("Media\Map.bmp")
ukkeli = LoadObject ("Media\guy.bmp",72)
SetupCollision ukkeli, Kenttä, 1, 4, 2
Repeat
TurnObject ukkeli,(LeftKey()- RightKey())*5
MoveObject ukkeli,(UpKey()-DownKey())*2
CloneCameraPosition ukkeli
DrawImage tausta,0,0
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2011)
Posted: Sun Jan 01, 2012 9:19 pm
by seancarrion
Kiitos! Tämä auttoi TOSI paljon! Olet herrasmies
EDIT:Ei toimi
Re: Tyhmät kysymykset (I/2011)
Posted: Sun Jan 01, 2012 9:24 pm
by phons
Code: Select all
kuva = LoadImage(tiedostopolku_$) 'kuva
Repeat 'loopin alku
DrawToWorld OFF, ON, OFF ' nyt kaikki kuvat piirretään maailmaan, näytölle
DrawImage kuva, 0, 0
DrawToWorld OFF, OFF, OFF 'ja säädetään kuvien piirto takaisin näyttöön
DrawImage kuva, 100, 100
TranslateCamera RightKey() - LeftKey(), Upkey() - DownKey() 'liikutetaan kameraa nuolilla
DrawScreen 'piirretään
Until EscapeKey() 'lopetetaan loopi kun Esc painettu
Siinä, huomaa että se on sitten kirjoitettu suoraan foorumiin, että saattaa bugata. korvaa tuo tiedostopolku kuvasi tiedostopolulla, media\guy.bmp tai joku.
Edit: Ja näin saimme hyvä esimerkin hitaudesta. Kiitos Frozen
Re: Tyhmät kysymykset (I/2011)
Posted: Mon Jan 02, 2012 10:00 pm
by BIG_BOMM
Oon kämminy jotain (yllättävää? ei tod..
) mut en hoksaa missä on vika kun antaa mavin kun pati osuu vihuun...
Merkkasin MAVin koodiin
Code: Select all
Type Padit
Field obj
End Type
FrameLimit 40
SCREEN 320,240,0,cbsizable
SetWindow "...",3
lattia = MakeObjectFloor ()
nurmikko = LoadImage ("Media\grass.bmp")
PaintObject lattia, nurmikko
charater = LoadObject ("Media\guy.bmp",360)
vihu1 = LoadObject ("Media\particle.bmp",360)
luoti = LoadObject ("Media\bullet.bmp")
ShowObject luoti,OFF
hiiri = LoadObject("Media\crosshair.bmp")
laaseri = LoadSound ("Media\lazer 2.wav")
ShowMouse OFF
Repeat
'---------------------------------------------------------------------------------------------------
'saan kokoaika ilmotuksen ShowMouse failed jos käytän omaa hiirtä, näin esitettynä toimii...
A =MouseWX()
B =MouseWY()
PositionObject hiiri,A-9,B
CloneObjectOrientation hiiri,charater
'---------------------------------------------------------------------------------------------------
'ukkoa ohjataan WASDilla.
Kääntö=GetAngle(ObjectX(charater),-ObjectY(charater),MouseWX(),-MouseWY())
RotateObject charater, Kääntö
If KeyDown(32) Then TranslateObject charater,2,0,0
If KeyDown(30) Then TranslateObject charater,-2,0,0
If KeyDown(17) Then TranslateObject charater,0,2,0
If KeyDown(31) Then TranslateObject charater,0,-2,0
'---------------------------------------------------------------------------------------------------
'vähän tulivoimaa...
If MouseDown(1) And reload =0 Then
laser.padit = New(Padit)
laser\obj = CloneObject(luoti)
CloneObjectPosition laser\obj,charater
PlaySound laaseri, 100
reload =15
MoveObject laser\obj,-9,-12
PointObject laser\obj,hiiri
TurnObject laser\obj,-90
EndIf
If reload>0 Then reload=reload-1
For laser.Padit = Each Padit
MoveObject laser\obj,0,-6
SetupCollision vihu1,laser\obj,2,2,2
SetupCollision laser\obj,vihu1,2,2,2
'TÄSSÄ TULEE MAV!!!
If Distance2(laser\obj,vihu1)<10 Then DeleteObject(laser\obj)
Next laser
'----------------------------------------------------------------------------------------------------
PositionObject vihu1,30,30
SetupCollision vihu1,charater,2,2,2
SetupCollision charater,vihu1,2,2,2
'----------------------------------------------------------------------------------------------------
CloneCameraPosition charater
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2011)
Posted: Mon Jan 02, 2012 11:47 pm
by Latexi95
BIG_BOMM wrote:Oon kämminy jotain (yllättävää? ei tod..
) mut en hoksaa missä on vika kun antaa mavin kun pati osuu vihuun...
Merkkasin MAVin koodiin
Code: Select all
Type Padit
Field obj
End Type
FrameLimit 40
SCREEN 320,240,0,cbsizable
SetWindow "...",3
lattia = MakeObjectFloor ()
nurmikko = LoadImage ("Media\grass.bmp")
PaintObject lattia, nurmikko
charater = LoadObject ("Media\guy.bmp",360)
vihu1 = LoadObject ("Media\particle.bmp",360)
luoti = LoadObject ("Media\bullet.bmp")
ShowObject luoti,OFF
hiiri = LoadObject("Media\crosshair.bmp")
laaseri = LoadSound ("Media\lazer 2.wav")
ShowMouse OFF
Repeat
'---------------------------------------------------------------------------------------------------
'saan kokoaika ilmotuksen ShowMouse failed jos käytän omaa hiirtä, näin esitettynä toimii...
A =MouseWX()
B =MouseWY()
PositionObject hiiri,A-9,B
CloneObjectOrientation hiiri,charater
'---------------------------------------------------------------------------------------------------
'ukkoa ohjataan WASDilla.
Kääntö=GetAngle(ObjectX(charater),-ObjectY(charater),MouseWX(),-MouseWY())
RotateObject charater, Kääntö
If KeyDown(32) Then TranslateObject charater,2,0,0
If KeyDown(30) Then TranslateObject charater,-2,0,0
If KeyDown(17) Then TranslateObject charater,0,2,0
If KeyDown(31) Then TranslateObject charater,0,-2,0
'---------------------------------------------------------------------------------------------------
'vähän tulivoimaa...
If MouseDown(1) And reload =0 Then
laser.padit = New(Padit)
laser\obj = CloneObject(luoti)
CloneObjectPosition laser\obj,charater
PlaySound laaseri, 100
reload =15
MoveObject laser\obj,-9,-12
PointObject laser\obj,hiiri
TurnObject laser\obj,-90
EndIf
If reload>0 Then reload=reload-1
For laser.Padit = Each Padit
MoveObject laser\obj,0,-6
SetupCollision vihu1,laser\obj,2,2,2
SetupCollision laser\obj,vihu1,2,2,2
'TÄSSÄ TULEE MAV!!!
If Distance2(laser\obj,vihu1)<10 Then DeleteObject(laser\obj)
Next laser
'----------------------------------------------------------------------------------------------------
PositionObject vihu1,30,30
SetupCollision vihu1,charater,2,2,2
SetupCollision charater,vihu1,2,2,2
'----------------------------------------------------------------------------------------------------
CloneCameraPosition charater
DrawScreen
Forever
'
Poistat vain laserin objectin etkä varsinaista tyypin jäsentä. Jonka takia seuraavan padin kohdalla tulee mavi.
Code: Select all
If Distance2(laser\obj,vihu1)<10 Then
DeleteObject(laser\obj)
Delete laser
EndIf
Re: Tyhmät kysymykset (I/2011)
Posted: Tue Jan 03, 2012 4:47 pm
by Hene
Ja mitenkös tuota funktiota pystyy käyttämään käytännössä?
En ole funktioista CB:ssä koskaan paljoakaan oppinut, hyvä kun manuaalin esimerkissä mainitun funktiosysteemin ymmärrän
Re: Tyhmät kysymykset (I/2011)
Posted: Tue Jan 03, 2012 5:01 pm
by Sly_Jack0
Code: Select all
teksti$ = "Tähän teksti"
reuna = 300 //Minkä rajan yli teksti ei saa mennä
x = 0
y = 0
Repeat
RowText(teksti$,x,y,reuna)
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2011)
Posted: Tue Jan 03, 2012 10:24 pm
by BIG_BOMM
Poistat vain laserin objectin etkä varsinaista tyypin jäsentä. Jonka takia seuraavan padin kohdalla tulee mavi.
KIITOS! johan toimii!
Re: Tyhmät kysymykset (I/2011)
Posted: Wed Jan 04, 2012 11:18 am
by skorpioni-cb
En halua olla trolli/offtopiccari, mutta eikös tässä pitäisi olla uusi Tyhmät kysymykset(R)-ketju
Vaikka on tää pieni ja tyhmä kysymys, (ei liity CB yhtään)
Re: Tyhmät kysymykset (I/2011)
Posted: Wed Jan 04, 2012 7:55 pm
by BIG_BOMM
Luovutan.. miks tää antaa code 88 Can't find missing Next:in rivillä 100??
Code: Select all
Type Padit
Field obj
End Type
Type ykkösvihu
Field obj
End Type
FrameLimit 40
SCREEN 640,480,0,cbsizable
SetWindow "...",3
ruoho = MakeObjectFloor ()
nurmikko = LoadImage ("Media\grass.bmp")
PaintObject ruoho, nurmikko
player = LoadObject ("Media\guy.bmp",360)
vihu1 = LoadObject ("Media\particle.bmp",360)
ShowObject vihu1,OFF
perusluoti = LoadObject ("Media\bullet.bmp")
ShowObject perusluoti,OFF
hiiri = LoadObject("Media\crosshair.bmp")
peruslaaseri = LoadSound ("Media\lazer 2.wav")
ShowMouse OFF
Repeat
'---------------------------------------------------------------------------------------------------
'ohjelma ei suostunut millään toistamaan Showmouse hiiri komentoa joten piti kikkailla...
'saipahan samalla tarkan tähtäyksen...
A =MouseWX()
B =MouseWY()
PositionObject hiiri,A-9,B
CloneObjectOrientation hiiri,player
'---------------------------------------------------------------------------------------------------
'ukkoa ohjataan seuraavista.
'sivuttaisliikkeet ja kääntyminen ovat eri napeissa pelattavuuden parantamiseksi
'WASD ohjaus, hahmo kääntyy num4 ja num5:stä
Kääntö=GetAngle(ObjectX(player),-ObjectY(player),MouseWX(),-MouseWY())
RotateObject Robotron, Kääntö-90
If KeyDown(32) Then TranslateObject player,2,0,0
If KeyDown(30) Then TranslateObject player,-2,0,0
If KeyDown(17) Then TranslateObject player,0,2,0
If KeyDown(31) Then TranslateObject player,0,-2,0
'---------------------------------------------------------------------------------------------------
'ensimmäinen laserase pelissä. loputtomasti pateja.
If MouseDown(1) And reload =0 Then
laser.padit = New (Padit)
laser\obj = CloneObject(perusluoti)
CloneObjectPosition laser\obj,player
PlaySound peruslaaseri, 100
reload =15
MoveObject laser\obj,-9,-12
PointObject laser\obj,hiiri
TurnObject laser\obj,-90
EndIf
If reload>0 Then reload=reload-1
For laser.Padit = Each Padit
MoveObject laser\obj,0,-6
SetupCollision vihu1,laser\obj,2,2,2
SetupCollision laser\obj,vihu1,2,2,2
If Distance2(laser\obj,vihu1)=0 Then
DeleteObject(laser\obj)
Delete laser
EndIf
Next laser
'----------------------------------------------------------------------------------------------------
'vihut
SetupCollision vihu1,player,2,2,2
SetupCollision player,vihu1,2,2,2
C=Rand(-150,150)
D=Rand(-150,150)
EV1=10
If ST=0 Then
PV.ykkösvihu = New (ykkösvihu)
PV\obj = CloneObject(vihu1)
PositionObject PV\obj,C,D
ST=2000
EndIf
If ST>0 Then ST=ST-1
For PV.ykkösvihu = Each ykkösvihu
PointObject PV\obj,player
MoveObject PV\obj,0,-2
SetupCollision vihu1,laser\obj,2,2,2
SetupCollision laser\obj,vihu1,2,2,2
If Distance2 (PV\obj,laser\obj)<1 Then
EV1=EV1-1
If EV1=0 Then
DeleteObject(PV\obj)
Delete PV
EndIf
EndIf
Next vihu1
'----------------------------------------------------------------------------------------------------
CloneCameraPosition player
DrawScreen
Forever
muutin mielestäni bmpt cbn omasta kansiosta löytyviksi mutta joitain on voinu jäädä huomaamatta..
Re: Tyhmät kysymykset (I/2011)
Posted: Wed Jan 04, 2012 7:56 pm
by skorpioni-cb
Pyydän nöyrimmin anteeksi etukäteen sitä että tein tämän tuplapostauksen, mutta muuten en saa vastausta tähän ennen Tyhmät kysymykset (1/2012)
Eli, latasin KW:n tekemän qt-kirjastolla toimivan ja winellä toimivalla compilerillä tehdyn IDE:n, se toimii ja muuta, mulla on vain yksi kysymys:
Mitä fonttia print,write,input,text ja addtext käyttävät oletusarvoisesti?
Koska, kun tein Hello World!-ohjelman, mun ohjelmassa missä piti lukea Hello World!, olikin pelkkiä pystypalkkeja
Ja KW:lle kysymys, miksi siinä kun on siellä compile-menussa se compile to EXE, tai jotain (pikanäppäin F7), niin miksi se on disabled, eikö sitä EXE-kirjoititnta aa winellä toimimaan, vai onko sun se editori pelkkää koodikehitystä varten linuxille? Toivon että tällä kertaa onnistun saamaan paljon vähemmän pahaa karmaa kuin viimeksi.
Re: Tyhmät kysymykset (I/2011)
Posted: Wed Jan 04, 2012 8:28 pm
by Jonez
@BIG_BOMM: Vaihda rivin 100 "next vihu1" -> "next PV".
Re: Tyhmät kysymykset (I/2011)
Posted: Wed Jan 04, 2012 8:51 pm
by BIG_BOMM
@BIG_BOMM: Vaihda rivin 100 "next vihu1" -> "next PV".
Kiitos! En ettiny vikaa ku kaks päivää...
hommattava vahvemmat lasit ehkä