Re: Tyhmät kysymykset
Posted: Thu Jan 29, 2009 4:02 pm
Onko mitään keinoa saada Text-komennolla piirretty teksti näkymään päällimmäisenä, objectien päällä?
EDIT: toimii, kiitos
EDIT: toimii, kiitos
Game Making Should Be Easy...
https://www.coolbasic.com/phpBB3/
Boxi wrote:Text 10,10,Rand(1,2)
DrawScreen
WaitKey
miten saisin tuon niin, että kun rand olisi 1 niin tulostaisi "joo" ja kun olisi 2 niin tulostaisi "ei"
Code: Select all
r = rand(1,2)
if r = 1 then
addtext "joo"
else
addtext "ei"
endif
drawscreen
waitkey
Code: Select all
select rand(1)
case 1: text 10,10,"joo"
default
text 10,10,"ei"
endselect
drawscreen
waitkey
Ei välttämättä nopeampi, saattaa toki olla näinkin. Muuten se on kuitenkin suositeltavampi - ainakin, jos vaihtoehtoja on useita. Selkeämpi ja vaihtoehtojen määrän kasvaessa lyhyempi.Grandi wrote:Tässä saman toteutus selectillä. Se on muistaakseni iffiä hieman nopeampi.En voi testata tuota kun olen Linuxilla, mutta perusidea remains the same.Code: Select all
select rand(1) case 1: text 10,10,"joo" default text 10,10,"ei" endselect drawscreen waitkey
Code: Select all
Type AMMUKSET
Field obj
EndType
Repeat
If LeftKey() Then MoveObject hahmo, -2
If RightKey() Then MoveObject hahmo, 2
If UpKey() Then MoveObject hahmo, 0, -2
If DownKey() Then MoveObject hahmo, 0, 2
If KeyHit(cbkeyspace)
uusiammus.AMMUKSET= New(AMMUKSET)
uusiammus\obj=CloneObject(panos)
CloneObjectPosition uusiammus\obj,hahmo+5
CloneObjectOrientation uusiammus\obj,0
MoveObject uusiammus\obj,5
DrawScreen
Until KeyHit(cbkeyesc)
Sinun pitää muistaa lopettaa if-lauseet. Sisennykset auttavat huomattavasti noiden huomaamiseenWee wrote:Tuossa aloitin pienen topdownin tekoa, mutta meinasi heti alusta tyssätä samaan, kuin Alpha...
Virhekoodi 88, Can't find sturcture block REPEAT...
Ongelma ilmeni sen jälkeen, kun lisäsin Typet, ja ampumisen.
Code: Select all
Type AMMUKSET
Field obj
EndType
Repeat
If LeftKey() Then MoveObject hahmo, -2
If RightKey() Then MoveObject hahmo, 2
If UpKey() Then MoveObject hahmo, 0, -2
If DownKey() Then MoveObject hahmo, 0, 2
If KeyHit(cbkeyspace)
uusiammus.AMMUKSET= New(AMMUKSET)
uusiammus\obj=CloneObject(panos)
CloneObjectPosition uusiammus\obj,hahmo+5
CloneObjectOrientation uusiammus\obj,0
MoveObject uusiammus\obj,5
EndIf ' sinun pitää muistaa lopettaa if-lauseet
DrawScreen
Until KeyHit(cbkeyesc)
Jos ymmärsin oikein.phons wrote:Minulla on 4 vihu tyypiä(siis Type, ei mitään erillaisia vihuja) ja haluan poistaa sen viimeisen. Miten teen tämän? Olen kokeillut muutamia vaihtoehtoja , mutta päätynyt aina MAViin tai siihen että kaikki poistuu...
Code: Select all
Type VIHU
Field name$
EndType
'luo vihut
v.VIHU=New(VIHU)
v\name=Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))
v.VIHU=New(VIHU)
v\name=Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))
v.VIHU=New(VIHU)
v\name=Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))
v.VIHU=New(VIHU)
v\name=Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))
'printtaa ne
For v.VIHU=Each VIHU
Print v\name
Next v
'luuppi
Repeat
Print "Delete last with the anykey"
WaitKey 'delete
Gosub dele
Forever
'antakaa anteeksi kun käytän gosubbia :D
dele:
v=Last(VIHU)
If v<>NULL Then Delete v
For v.VIHU=Each VIHU
Print v\name
Next v
Return
Code: Select all
FrameLimit 40
ruoho = MakeObjectFloor ()
nurmikko = LoadImage ("Media\grass.bmp")
PaintObject ruoho, nurmikko
ukko = LoadObject("Media/cow.bmp", 72)
miekka = LoadObject("Media/cannon.bmp",72)
aim = LoadObject ("Media/crosshair.bmp")
AddText "W,A,S,D ohjaa."
AddText "Hiiri liikuttaa tähtäintä."
Repeat
ShowMouse OFF
CloneCameraPosition ukko
CloneObjectPosition miekka, ukko
PositionObject aim , MouseX()-200, -MouseY()+140
PointObject miekka,aim
If KeyDown(30) Then TurnObject ukko, 5
If KeyDown(32) Then TurnObject ukko, -5
If KeyDown(17) Then MoveObject ukko, 2
If KeyDown(31) Then MoveObject ukko, -2
If MouseDown(1)
MoveObject Miekka, 5
EndIf
DrawScreen
Forever
Esimerkkiä? en ymmärtänyt vielä
No teet vaikka niin, että asetat defaultvisiblen offille, ja aina kun yksi tiedosto ladataan, lisäät "ladattu"-muuttujaa. Sitten vaan piirrät ruudulle "Ladattu"-muuttujan mittaisen palkin. Ja muistat tuoda objektit esiin showobjectilla!rami123 wrote:Miten tehdään sellanen homma että kun menee pää valikosta peliin niin se näyttää paljon se on ladannut? ettei näyttö vaan ole mustana?
Hmm... Tuossa tuli itselläni mieleen, että jos toimisi seuraavasti; Aluksi AddTextillä Ladataan, ja sitten kun on ladannut yhden tiedoston, niin cleartextillä tekstit pois, heti jälkeen addtext Ladataan 10%, drawscreen, ja sitten taas ladataan seuraava tiedosto?rami123 wrote:Miten tehdään sellanen homma että kun menee pää valikosta peliin niin se näyttää paljon se on ladannut? ettei näyttö vaan ole mustana?
EDIT:Esimerkkiä? en ymmärtänyt vielä
Ehkäpä näin:Wee (offline) wrote:Hmm... Tuossa tuli itselläni mieleen, että jos toimisi seuraavasti; Aluksi AddTextillä Ladataan, ja sitten kun on ladannut yhden tiedoston, niin cleartextillä tekstit pois, heti jälkeen addtext Ladataan 10%, drawscreen, ja sitten taas ladataan seuraava tiedosto?rami123 wrote:Miten tehdään sellanen homma että kun menee pää valikosta peliin niin se näyttää paljon se on ladannut? ettei näyttö vaan ole mustana?
EDIT:Esimerkkiä? en ymmärtänyt vielä
Äsh, älä välitä tuosta En ole kokeillut, en voi nyt kokeilla, ja tuskin toimiikaan. Tuli vain mieleen tuollainen köyhän miehen purkkaviritys
Code: Select all
Print "ladataan"
t=LoadImage("blaablaa")
Print "1 tiedosto ladattu..."
...koodia...
Kiitos
jatketaan vain:rami123 wrote:? eli se lataa tuon yhden kuvan ja samalla kirjoittaa printillä?
miten sitte kun koko peli ladataan?
Tai sitten voit tehdä pelimiehen liikkeen ja tehdä kaikille objekteille taulukon, johon lataat yksinkertaisessa for-loopissa kaikki media-kansion kuvat. Tai elegantimmin tiedostolla, joka sisältää ladattavien kuvien nimet.Jani wrote:jatketaan vain:rami123 wrote:? eli se lataa tuon yhden kuvan ja samalla kirjoittaa printillä?
miten sitte kun koko peli ladataan? :?
lataa tiedosto
lataa tiedosto
lataa tiedosto
jne... jne...