Hienoa, nyt sit saikin mokoman julkastua. Käykääs kattomassa...TheFish wrote:1. Laitat polun samaan tyyliin kuin cb:n esimerkeissä on, eli siis esim. "media\x.png", jolloin ohjelma hakee exen/sorsan sijainnista media-nimistä kansiota ja sen sisältä kuvaa x.png.
2. http://up.servut.us/
Tyhmät kysymykset (I/2009)
-
- Active Member
- Posts: 211
- Joined: Tue Aug 28, 2007 3:48 pm
Re: Tyhmät kysymykset
Some stories can't be told by words...
Some legends are meant to die...
Some bloodlines must come to an end...
Metal Gear Solid 4: Guns of the Patriots
Sneaking Out 12.06.2008
Some legends are meant to die...
Some bloodlines must come to an end...
Metal Gear Solid 4: Guns of the Patriots
Sneaking Out 12.06.2008
-
- Advanced Member
- Posts: 281
- Joined: Sat Jun 28, 2008 5:19 pm
- Location: Hämeessä miä
Re: Tyhmät kysymykset
kuinka voi määrittää minne päin ukkeli "lyö"
siis teen rgp peliä(sain avaruus pelini valmiiks )jossa on ukkeli jolla on lyönti animaatio ja se toistuu aina kun painetaa välilyöntii ja jos se on vihun kaa pällekkäin niin lähtee eluu ongelma on että jos vihu yllättää takaa päin niin ja miekka on eessä niin kun lyön miekka heiluu eessä ja vihu on takana ja se menettää eluu ja on TOSI epä aitoo ja tyhmän näköst
toivotavasti joku sai selvää
selvennykseks kuva:http://i324.photobucket.com/albums/k321 ... nimetn.jpg
siis teen rgp peliä(sain avaruus pelini valmiiks )jossa on ukkeli jolla on lyönti animaatio ja se toistuu aina kun painetaa välilyöntii ja jos se on vihun kaa pällekkäin niin lähtee eluu ongelma on että jos vihu yllättää takaa päin niin ja miekka on eessä niin kun lyön miekka heiluu eessä ja vihu on takana ja se menettää eluu ja on TOSI epä aitoo ja tyhmän näköst
toivotavasti joku sai selvää
selvennykseks kuva:http://i324.photobucket.com/albums/k321 ... nimetn.jpg
Last edited by Nassi_Setä on Sat Jul 26, 2008 1:34 pm, edited 1 time in total.
Re: Tyhmät kysymykset
Kuinka saisin arvottua koordinaatit niin, että ne ovat vain viiden "välein"? Esim. että omaX voi olla vain 5,10,15,20,25,30... ja omaY vain 50,55,60...?
(kuinka tämäkin oli taas niin vaikeaa selittää?)
(kuinka tämäkin oli taas niin vaikeaa selittää?)
Re: Tyhmät kysymykset
vaikkapa näinSepi wrote:Kuinka saisin arvottua koordinaatit niin, että ne ovat vain viiden "välein"? Esim. että omaX voi olla vain 5,10,15,20,25,30... ja omaY vain 50,55,60...?
(kuinka tämäkin oli taas niin vaikeaa selittää?)
Code: Select all
omaX = rand(1, 10) * 5
omaY = rand(10, 20) * 5
CoolBasic henkilökuntaa
Kehittäjä
Kehittäjä
Re: Tyhmät kysymykset
Botteja on 10 kpletta, ja mitenkä saisin tehtyä niin, että kaikilla boteilla olisi setupcollision samoihin botteihin?
Tällä olen koittanut, mutta en ole saanut setupcollisionia tehtyä oikein.
Code: Select all
vsp=1
tile=32
For t=0 To 9
ukko(t)=LoadObject("media/guy.bmp",92)
SetupCollision ukko(t),map,2,4,2
Next t
For t=0 To 9
For ti=9 To 0
If ti<>t Then SetupCollision ukko(t),ukko(t),2,2,2 //<--tässä on jokin väärin
Next ti
Next t
i=0
For y=1 To MapWidth()
For x=1 To MapWidth()
If GetMap2(3,x,y)=vsp Then
x2=x
y2=y
PositionObject ukko(t),ObjectX(map)-ObjectSizeX(map)/2+tile*x2-tile/2,ObjectY(map)+ObjectSizeY(map)/2-y2*tile+tile/2
i=i+1
EndIf
Next x
Next y
Re: Tyhmät kysymykset
Näin käy nopeimmin:
Omassa koodissasi yritit luoda törmäystunnistusta samasta ukosta samaan ukkoon. Lisäksi for-loopissa, jossa muuttuja vähenee, step-arvoksi on laitettava -1.
Code: Select all
For t=0 To 9
For ti=t To 9
SetupCollision ukko(t),ukko(ti),2,2,2
SetupCollision ukko(ti),ukko(t),2,2,2
Next ti
Next t
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Re: Tyhmät kysymykset
Kuinka taulukoilla saa tulostettua vain sen tietyn jäsenen tiedot? Siis että kun hiiri menee jäsenen kuvan päälle, niin se tulostaa sen kyseisen jäsenen tiedot.
Typeillähän se toimisi suurinpiirtein näin (ehkä):
Mutta taulukoilla en oikein tiedä kuinka saan sen tehtyä, sillä jos käyn läpi kaikki ukot(for i=0 to ukkoja) ja sitten tuo sama tulostus hommeli, niin se tulostaa kaikkien ukkojen tiedot päällekkäin.
Typeillähän se toimisi suurinpiirtein näin (ehkä):
Code: Select all
type ukot
field kuva
field x
field y
field tieto1
end type
hiiri=makeimage(1,1)
for i=1 to 10
ukko.ukot=new(ukot)
ukko\kuva=loadimage ("media\guy.bmp")
ukko\x=rand(0,100)
ukko\y=rand(0,100)
ukko\tieto1=10
next i
repeat
if imagesoverlap(plaa plaa plaa) then
text 10,10, ukko\tieto1
end if
drawscreen
forever
-
- Active Member
- Posts: 106
- Joined: Wed Jul 30, 2008 5:04 pm
Re: Tyhmät kysymykset
Nyt on paha ongelma löydetty (mielestäni)... Miten voisin tarkistaa onko mikään objecti kahden objectin välissä? Ja vielä onko se miten lähellä niiden kahden objectin välistä "linjaa"?
Re: Tyhmät kysymykset
Aika pitkälti samalla tavalla kuin typeilläkin.Sepi wrote:Kuinka taulukoilla saa tulostettua vain sen tietyn jäsenen tiedot? Siis että kun hiiri menee jäsenen kuvan päälle, niin se tulostaa sen kyseisen jäsenen tiedot.
Typeillähän se toimisi suurinpiirtein näin (ehkä):
Mutta taulukoilla en oikein tiedä kuinka saan sen tehtyä, sillä jos käyn läpi kaikki ukot(for i=0 to ukkoja) ja sitten tuo sama tulostus hommeli, niin se tulostaa kaikkien ukkojen tiedot päällekkäin.Code: Select all
type ukot field kuva field x field y field tieto1 end type hiiri=makeimage(1,1) for i=1 to 10 ukko.ukot=new(ukot) ukko\kuva=loadimage ("media\guy.bmp") ukko\x=rand(0,100) ukko\y=rand(0,100) ukko\tieto1=10 next i repeat if imagesoverlap(plaa plaa plaa) then text 10,10, ukko\tieto1 end if drawscreen forever
Typeillä:
Code: Select all
For iHahmo = Each HAHMO
If ObjectsOverlap(MouseObj,iHahmo\obj) Then
'Tulostetaan tiedot
EndIf
Next iHahmo
Code: Select all
For i = 0 to HahmoMaara
If ObjectsOverlap(MouseObj,Hahmo(i,hahmoObj)) Then
'Tulostetaan tiedot
Edit
Next i
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Re: Tyhmät kysymykset
Kiitos, mutten tiedä oikein mitä tarkoitat tuolla että "viittaa soluun, jossa objektit ovat.
Miksi tämäkään viritelmä ei toimi, vaan nuo rivit 61 ja 62 aiheuttavat drawimage failedin ja MAVin?
EDIT: Tuossa on tuo alkuperäinen koodi:
EDIT: Siis ongelmana on, että tuo tulostaa kaikkien noiden ukkojen voimat päällekkäin, vaikka haluaisin että se tulostaa vain sen, jonka päällä hiiri on.
Miksi tämäkään viritelmä ei toimi, vaan nuo rivit 61 ja 62 aiheuttavat drawimage failedin ja MAVin?
Code: Select all
soturi_lkm=3
Const taidot_lkm=3
Const rotuja_lkm=2
Dim soturit(soturi_lkm)
Dim sotureiden_taidot(soturi_lkm,rotuja_lkm,taidot_lkm)
Dim sotureiden_taitojen_nimet(soturi_lkm,rotuja_lkm,taidot_lkm) As String
Dim sotureiden_paikatx(soturi_lkm)
Dim sotureiden_paikaty(soturi_lkm)
Dim rodut(rotuja_lkm)
Dim soturi_obj(soturi_lkm,rotuja_lkm)
ukko=LoadImage("media\guy.bmp")
hiiri=MakeImage(1,1)
For i=0 To soturi_lkm
sotureiden_paikatx(i)=Rand(0,8)*32
sotureiden_paikaty(i)=Rand(0,5)*32
For a=0 To taidot_lkm
sotureiden_taidot(i,0,0)=Rand(1,1)
sotureiden_taidot(i,0,1)=Rand(1,1)
sotureiden_taidot(i,0,2)=Rand(1,1)
sotureiden_taidot(i,0,3)=Rand(1,1)
sotureiden_taidot(i,1,0)=Rand(2,2)
sotureiden_taidot(i,1,1)=Rand(2,2)
sotureiden_taidot(i,1,2)=Rand(2,2)
sotureiden_taidot(i,1,3)=Rand(2,2)
sotureiden_taidot(i,2,0)=Rand(3,3)
sotureiden_taidot(i,2,1)=Rand(3,3)
sotureiden_taidot(i,2,2)=Rand(3,3)
sotureiden_taidot(i,2,3)=Rand(3,3)
Next a
For r=0 To rotuja_lkm
soturi_obj(i,r)=ukko
sotureiden_taitojen_nimet(i,r,0)="Voima"
sotureiden_taitojen_nimet(i,r,1)="Kesto"
sotureiden_taitojen_nimet(i,r,2)="Mana"
sotureiden_taitojen_nimet(i,r,3)="Nopeus"
Next r
Next i
Repeat
DrawImage soturi_obj(i,r),sotureiden_paikatx(i),sotureiden_paikaty(i) 'DRAWIMAGE FAILED
If ImagesOverlap(hiiri,MouseX(),MouseY(),soturi_obj(i,r),sotureiden_paikatx(i),sotureiden_paikaty(i)) Then Text MouseX(),MouseY()-32-a*10, sotureiden_taitojen_nimet(i,r,0)+": "+sotureiden_taidot(i,r,0)
endif
Forever
DrawScreen
Code: Select all
soturi_lkm=3
Const taidot_lkm=3
Const rotuja_lkm=2
Dim soturit(soturi_lkm)
Dim sotureiden_taidot(soturi_lkm,rotuja_lkm,taidot_lkm)
Dim sotureiden_taitojen_nimet(soturi_lkm,rotuja_lkm,taidot_lkm) As String
Dim sotureiden_paikatx(soturi_lkm)
Dim sotureiden_paikaty(soturi_lkm)
Dim rodut(rotuja_lkm)
Dim soturi_obj(soturi_lkm,rotuja_lkm)
ukko=LoadImage("media\guy.bmp")
hiiri=MakeImage(1,1)
For i=0 To soturi_lkm
sotureiden_paikatx(i)=Rand(0,8)*32
sotureiden_paikaty(i)=Rand(0,5)*32
For r=0 To rotuja_lkm
soturi_obj(i,r)=ukko
For a=0 To taidot_lkm
sotureiden_taidot(i,0,0)=Rand(1,1)
sotureiden_taidot(i,0,1)=Rand(1,1)
sotureiden_taidot(i,0,2)=Rand(1,1)
sotureiden_taidot(i,0,3)=Rand(1,1)
sotureiden_taidot(i,1,0)=Rand(2,2)
sotureiden_taidot(i,1,1)=Rand(2,2)
sotureiden_taidot(i,1,2)=Rand(2,2)
sotureiden_taidot(i,1,3)=Rand(2,2)
sotureiden_taidot(i,2,0)=Rand(3,3)
sotureiden_taidot(i,2,1)=Rand(3,3)
sotureiden_taidot(i,2,2)=Rand(3,3)
sotureiden_taidot(i,2,3)=Rand(3,3)
sotureiden_taitojen_nimet(i,r,0)="Voima"
sotureiden_taitojen_nimet(i,r,1)="Kesto"
sotureiden_taitojen_nimet(i,r,2)="Mana"
sotureiden_taitojen_nimet(i,r,3)="Nopeus"
Next a
Next r
Next i
Repeat
For s=0 To soturi_lkm
For r=0 To rotuja_lkm
For t=0 To taidot_lkm
DrawImage soturi_obj(s,r),sotureiden_paikatx(s),sotureiden_paikaty(s)
If ImagesOverlap(hiiri,MouseX(),MouseY(),soturi_obj(s,r),sotureiden_paikatx(s),sotureiden_paikaty(s)) Then
Text sotureiden_paikatx(s),sotureiden_paikaty(s), sotureiden_taitojen_nimet(s,r,0)+": "+sotureiden_taidot(s,r,0)
EndIf
Next t
Next r
Next s
DrawScreen
Forever
Re: Tyhmät kysymykset
Kuinka saisin tehtyä taulukoilla ukkoja, joilla olisi kaikilla oma energiansa, joka näkyisi kun laittaa hiiren ukon päälle? Oma räpellykseni toimi muuten, mutta siinä näkyi kaikkien energiat päällekkäin, kun laittoi hiiren ukon kuvan päälle
Re: Tyhmät kysymykset
Suosittelen syvästi siirtymistä tyyppeihin. Tuohon nimittäin sopisi tyypit paljon paremmin, koska silloin sinun ei tarvitsisi tehdä eri taulukkoja hahmojen taidoille, taitojen nimille ja koordinaateille vaan saisit ne kaikki mahtumaan samaan typeen ja vielä samaan syssyyn saisit tallennettua niiden objektit myös. IMHO paljon yksinkertaisempaa (ja se vaatisi huomattavasti vähemmän rivejä myös )Sepi wrote:Kiitos, mutten tiedä oikein mitä tarkoitat tuolla että "viittaa soluun, jossa objektit ovat.
Miksi tämäkään viritelmä ei toimi, vaan nuo rivit 61 ja 62 aiheuttavat drawimage failedin ja MAVin?
EDIT: Tuossa on tuo alkuperäinen koodi:Code: Select all
...koodia...
EDIT: Siis ongelmana on, että tuo tulostaa kaikkien noiden ukkojen voimat päällekkäin, vaikka haluaisin että se tulostaa vain sen, jonka päällä hiiri on.Code: Select all
...lisää koodia...
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: Tyhmät kysymykset
No, olet varmaan oikeassa Kiitoksia
Re: Tyhmät kysymykset
Olen vasta alkaja ja en löydä mistään ohjeitä enkä onnistu ite tekemää sellaista hommaa että esim olen ladannut jonku kuvan joka on lippu nii ku vien hiiren sen lipun päälle nii se kuva muuttuu jokskuks tietyks ja ku hiiri menee kuvan päältä pois nii se muuttuu takaks siks normaaliks... Ja näitä lippuja on tarkotus olla useampi siinä kuvassa että se koodi toimisi näihin kaikkiin.. Mutta ei silleen että ne kaikki liput vaihtaa sitä kuvaa samaan aikaa vaan se yks tietty minkä päällä se hiiri on.
Apu olisi tarpeen.
Kiitoksia
Apu olisi tarpeen.
Kiitoksia
Re: Tyhmät kysymykset
Vaikka näin:
Jos niitä lippuja pitää olla useampia, kannattaa varmaan laittaa lippujen koordinaatit ja koot taulukkoon tai tyyppiin.
Code: Select all
If MouseX() > lipun_vasen_reuna And MouseX() < lipun_oikea_reuna And Mousey() > lipun_yläreuna and mousey() < lipun_alareuna then
'piirretään jotain
else
'piirretään jotain
endif
Re: Tyhmät kysymykset
Tosin jos olet kuvilla sitä tekemässä niin se on imagesoverlapilla helpompaa.
Re: Tyhmät kysymykset
Jos teen taulukolla tuon niin tarviin siihen 3 niitä kohtia... Nykyinen kuva, hiiri on kuvan päällä, ja se sijainti. Mutta kuinka saan sijainnin tuhon viellä?
Code: Select all
Dim lippu(2,2)
lippu(0,0) = LoadObject("Kuvat/Lippu.bmp") //Kun hiiri ei ole lipun päällä
lippu(0,1) = LoadObject("Kuvat/Lippu2.bmp") //Kun hiiri on lipun päällä
lippu(0,2) =
lippu(1,0) = LoadObject("Kuvat/Lippu.bmp") //Kun hiiri ei ole lipun päällä
lippu(1,1) = LoadObject("Kuvat/Lippu2.bmp") //Kun hiiri on lipun päällä
lippu(1,2) =
lippu(2,0) = LoadObject("Kuvat/Lippu.bmp") //Kun hiiri ei ole lipun päällä
lippu(2,1) = LoadObject("Kuvat/Lippu2.bmp") //Kun hiiri on lipun päällä
lippu(2,2) =
Re: Tyhmät kysymykset
Esimerkiksi näin.
Toki nämä saisi yhteen tekstimuuttujaankin ängettyä ja sieltä eroteltua mutta melkeinpä helpommin sujuu näin.
Code: Select all
Dim lippu(2,4)
lippu(0,0) = LoadObject("Kuvat/Lippu.bmp") //Kun hiiri ei ole lipun päällä
lippu(0,1) = LoadObject("Kuvat/Lippu2.bmp") //Kun hiiri on lipun päällä
lippu(0,3) = 132 'x-sijainti
lippu(0,4) = 132 'y-sijainti
lippu(1,0) = LoadObject("Kuvat/Lippu.bmp") //Kun hiiri ei ole lipun päällä
lippu(1,1) = LoadObject("Kuvat/Lippu2.bmp") //Kun hiiri on lipun päällä
lippu(1,3) = 132 'x-sijainti
lippu(1,4) = 132 'y-sijainti
lippu(2,0) = LoadObject("Kuvat/Lippu.bmp") //Kun hiiri ei ole lipun päällä
lippu(2,1) = LoadObject("Kuvat/Lippu2.bmp") //Kun hiiri on lipun päällä
lippu(2,3) = 132 'x-sijainti
lippu(2,4) = 132 'y-sijainti
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Re: Tyhmät kysymykset
Code: Select all
Type AMMUS
Field obj
End Type
Const vihumäärä=10
Dim vihu_obj(vihumäärä)
Dim vihu_pic(vihumäärä)
SCREEN 800,600
FrameLimit 40 'rajoita nopeutta
ukko=LoadObject("Media\soldier.bmp",72)
cloonattava_vihu=LoadObject("Media\guy.bmp",72)
pati=LoadObject("Media\bullet.bmp")
target = LoadObject("Media\target.bmp")
ShowObject pati,OFF
ShowMouse OFF
ShowObject cloonattava_vihu,OFF
For i=1 To vihumäärä
vihu_obj(i)=CloneObject(cloonattava_vihu)
PositionObject vihu_obj(i), Rand (-1000,1000),Rand (-1000,1000)
Next i
osumat=0
AddText "Nuolista ohjaa, Hiiri=ampuu"
Repeat
PositionObject target,MouseWX(),MouseWY()
'Ohjaa ukkoa NUOLILLA
//If LeftKey() Then TurnObject ukko,5
//If RightKey() Then TurnObject ukko,-5
If UpKey() Then MoveObject ukko,2
If DownKey() Then MoveObject ukko,-2
PointObject ukko,target
If MouseDown(1) And reload=0 Then
luoti.AMMUS = New(AMMUS) 'luo uusi ammus
luoti\obj=CloneObject(pati) 'tee klooni
CloneObjectPosition luoti\obj,ukko
// CloneObjectOrientation luoti\obj,ukko
PointObject luoti\obj,target
CloneObjectOrientation ukko,luoti\obj
//GetAngle (ObjectX(ukko),ObjectY(ukko), hiiriWX, hiiriWY)
reload=5 'aseen lataus
EndIf
If reload>0 Then reload=reload-1
For luoti.AMMUS = Each AMMUS
For i=1 To vihumäärä
SetupCollision luoti\obj,vihu_obj(i),2,2,2
Next i
ObjectLife luoti\obj,50
MoveObject luoti\obj,6
If ObjectX(luoti\obj)<-380 Or ObjectX(luoti\obj)>380 Or ObjectY(luoti\obj)<-280 Or ObjectY(luoti\obj)>280 Then
ShowObject luoti\obj,OFF
EndIf
//////////////////////////////////////////////////////////////////////////////
//////ONGELMAKOHTA
If CountCollisions (luoti\obj) Then
ShowObject luoti\obj,OFF
osumat=osumat+1
//ShowObject vihu_obj(i),OFF
//deleteobject vihu_obj(i
EndIf
///////////////////////////////////////
///////////////////////////////////////
Next luoti
'tämä ennen muuta grafiikkaa (box)
For i=1 To vihumäärä
PointObject vihu_obj(i),ukko
MoveObject vihu_obj(i),3
Next i
DrawGame
Color cbOrange
Box 20,20,760,560,OFF
Text 600,1, "Osumat: "+osumat
DrawScreen
Until EscapeKey()
Tekeillä pikkupelejä ja ohjelmia
Re: Tyhmät kysymykset
Toimisikohan näin? (en ole varma)
Miksi et muuten tee vihuja typeillä?
Code: Select all
For i=1 To vihumäärä
If CountCollisions (luoti\obj) Then
ShowObject luoti\obj,OFF
osumat=osumat+1
//ShowObject vihu_obj(i),OFF
deleteobject vihu_obj(i)
EndIf
Next i