Se kartta varmaan kannattaisi ennemmin järjestää alimmaksi, jos vaikka joskus haluaa muitakin objekteja kuin pelkän ukon.legend wrote:Code: Select all
ObjectOrder ukko, 1
Tyhmät kysymykset (I/2012)
Re: Tyhmät kysymykset (I/2012)
Tyhmät kysymykset (I/2012)
Onko mitään keinoa saada hiiren sijainti tileinä? Ei ole sisäisiä komentoja, mutta joku funkkari mahdollisesti?
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Re: Tyhmät kysymykset (I/2012)
MouseWX(), MouseWY() ja nämä: www.cbrepository.com/codes/code/69/Ize wrote:Onko mitään keinoa saada hiiren sijainti tileinä? Ei ole sisäisiä komentoja, mutta joku funkkari mahdollisesti?
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 (I/2012)
Miksi chatruutu kuva piirtyy kartan alle eikä päälle? Jos ottaa kartan pois niin sit se näkyy(oletettavasti). Missä vika?
Code: Select all
FrameLimit 40
SCREEN 640,480,0,cbfullscreen
kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
PlayObject kartta,0,0,1
ukko = LoadObject ("Media\guy.bmp",72)
SetupCollision ukko, kartta, 1, 4, 2
tausta=LoadImage("Media\chatruutu.bmp")
gamma=-255
ScreenGamma gamma,gamma,gamma
MaskImage tausta, 255,255,255
While gamma<=0
DrawImage tausta,0,320
Text 30,350,"Jotain höopinää"
text 30,370,"Ja lisää"
Text 480,450,"..."
ScreenGamma gamma,gamma,gamma
gamma=gamma+1.5
UpdateGame
DrawScreen
Wend
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Tyhmät kysymykset (I/2012)
Koska CB:ssä jälkimmäisenä piirretty kuva jää aina päällimmäiseksi, ja objektit piirretään oletuksena DrawScreeniä kutsuttaessa. Objektien piirtoa voi aikaistaa komentamalla DrawGame, joka piirtää siis objektit näytölle minkä jälkeen voit piirrellä niiden päälle. Vastaavasti UpdateGamesi on sinänsä turha että sitä kutsutaan joka tapauksessa DrawScreenin yhteydessä jos edellisen DrawScreenin jälkeen sitä ei ole erikseen kutsuttu.
Eli näin:
Ylimääräisiä huomioita: 1) on kiva jos korvaat omat mediasi jollain oletuskansiosta löytyvällä niin ohjelman voi suoraan ajaa kokeillakseen virhettä ja 2) pliis, ei kokoruudun tiloja pieniin testipätkiin, en ymmärrä miten kukaan jaksaa devata mitään siten että joka käännöllä odottaa monta sekuntia tilojen vaihtumisia :(
Eli näin:
Code: Select all
FrameLimit 40
SCREEN 640,480,0,cbfullscreen
kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
PlayObject kartta,0,0,1
ukko = LoadObject ("Media\guy.bmp",72)
SetupCollision ukko, kartta, 1, 4, 2
tausta=LoadImage("Media\chatruutu.bmp")
gamma=-255
ScreenGamma gamma,gamma,gamma
MaskImage tausta, 255,255,255
While gamma<=0
DrawGame
DrawImage tausta,0,320
Text 30,350,"Jotain höopinää"
text 30,370,"Ja lisää"
Text 480,450,"..."
ScreenGamma gamma,gamma,gamma
gamma=gamma+1.5
DrawScreen
Wend
Re: Tyhmät kysymykset (I/2012)
Lisää kysymyksiä mutta ei niitä toivottavasti liikaa ole.
Kun tuo setupcollision törmäys näyttää toimivan vain objectin reunoihin niin miten voin tarkistaa onko esimerkiksi ukko törmättävän seinän sisällä ja täten estää liikkumisen jos ukko kerta liikkuu tilen kerrallaan niin että se pomppaa suoraan sisään.
Vaikeasti selitetty mutta esimerkki... ->
Kun tuo setupcollision törmäys näyttää toimivan vain objectin reunoihin niin miten voin tarkistaa onko esimerkiksi ukko törmättävän seinän sisällä ja täten estää liikkumisen jos ukko kerta liikkuu tilen kerrallaan niin että se pomppaa suoraan sisään.
Vaikeasti selitetty mutta esimerkki... ->
Code: Select all
FrameLimit 40
kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
PlayObject kartta,0,0,1
ukko = LoadObject ("Media\guy.bmp",4)
SetupCollision ukko, kartta, 1, 4, 2
Repeat
If LeftKey() Then
If ObjectAngle(ukko) = 180 Then
MoveObject ukko,32
liiku=Timer()
Repeat
Until TIMER()>liiku+200
ClearKeys
Else
RotateObject ukko,180
liiku=Timer()
Repeat
Until TIMER()>liiku+200
ClearKeys
EndIf
EndIf
If RightKey() Then
If ObjectAngle(ukko) = 0 Then
MoveObject ukko,32
liiku=Timer()
Repeat
Until TIMER()>liiku+200
ClearKeys
Else
RotateObject ukko,0
liiku=Timer()
Repeat
Until TIMER()>liiku+200
ClearKeys
EndIf
EndIf
If UpKey() Then
If ObjectAngle(ukko) = 90 Then
MoveObject ukko,32
liiku=Timer()
Repeat
Until TIMER()>liiku+200
ClearKeys
Else
RotateObject ukko,90
liiku=Timer()
Repeat
Until TIMER()>liiku+200
ClearKeys
EndIf
EndIf
If DownKey() Then
If ObjectAngle(ukko) = 270 Then
MoveObject ukko,32
liiku=Timer()
Repeat
Until TIMER()>liiku+200
ClearKeys
Else
RotateObject ukko,270
liiku=Timer()
Repeat
Until TIMER()>liiku+200
ClearKeys
EndIf
EndIf
UpdateGame
CloneCameraPosition ukko
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2012)
Ukon siirtämisen perään GetMapilla tarkistat, onko ukon koordinaattien alla olevassa törmäyskerroksessa muu kuin 0, ja jos on niin ukon ei kuuluisi olla siinä (eli sitten se siirretään takaisin). Tai vaihtoehtoisesti voi tarkistaa, onko ukon leveyden verran ukon vieressä olevissa koordinaateissa törmäyskerroksessa 0 ja liikutaan jos ja vain jos se on 0.Ryitt wrote:Lisää kysymyksiä mutta ei niitä toivottavasti liikaa ole.
Kun tuo setupcollision törmäys näyttää toimivan vain objectin reunoihin niin miten voin tarkistaa onko esimerkiksi ukko törmättävän seinän sisällä ja täten estää liikkumisen jos ukko kerta liikkuu tilen kerrallaan niin että se pomppaa suoraan sisään.
Vaikeasti selitetty mutta esimerkki... ->Code: Select all
FrameLimit 40 kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp") PlayObject kartta,0,0,1 ukko = LoadObject ("Media\guy.bmp",4) SetupCollision ukko, kartta, 1, 4, 2 Repeat If LeftKey() Then If ObjectAngle(ukko) = 180 Then MoveObject ukko,32 liiku=Timer() Repeat Until TIMER()>liiku+200 ClearKeys Else RotateObject ukko,180 liiku=Timer() Repeat Until TIMER()>liiku+200 ClearKeys EndIf EndIf If RightKey() Then If ObjectAngle(ukko) = 0 Then MoveObject ukko,32 liiku=Timer() Repeat Until TIMER()>liiku+200 ClearKeys Else RotateObject ukko,0 liiku=Timer() Repeat Until TIMER()>liiku+200 ClearKeys EndIf EndIf If UpKey() Then If ObjectAngle(ukko) = 90 Then MoveObject ukko,32 liiku=Timer() Repeat Until TIMER()>liiku+200 ClearKeys Else RotateObject ukko,90 liiku=Timer() Repeat Until TIMER()>liiku+200 ClearKeys EndIf EndIf If DownKey() Then If ObjectAngle(ukko) = 270 Then MoveObject ukko,32 liiku=Timer() Repeat Until TIMER()>liiku+200 ClearKeys Else RotateObject ukko,270 liiku=Timer() Repeat Until TIMER()>liiku+200 ClearKeys EndIf EndIf UpdateGame CloneCameraPosition ukko DrawScreen Forever
Saattoi tulla näin kolmelta aamuyöstä hieman sekava viesti, mutta kai tuosta jotain saa irti.
Tyhmät kysymykset (I/2012)
Olisi pieni ongelma. Jälleen.
Elikkäs olen wörkännyt objektin, joka hyppii ja pyörähtää samalla. Ongelma on se että kun objekti pyörii/on jossain muussa kulmassa, kuin alkuperäisessä, objektin ympärille ilmestyy "musta laatikko", joka katoaa kun objekti palaa alkuperäiseen asentoon. Olen törmännyt tähän monia kertoja, mutta vasta nyt se on todella haitaksi.
Elikkäs olen wörkännyt objektin, joka hyppii ja pyörähtää samalla. Ongelma on se että kun objekti pyörii/on jossain muussa kulmassa, kuin alkuperäisessä, objektin ympärille ilmestyy "musta laatikko", joka katoaa kun objekti palaa alkuperäiseen asentoon. Olen törmännyt tähän monia kertoja, mutta vasta nyt se on todella haitaksi.
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Re: Tyhmät kysymykset (I/2012)
Varmaankin käytät MaskObjectia? MaskObjectissa on sellainen ominaisuus/bugi, että se ei toimi objekteilla joita pyöritellään.Ize wrote:Olisi pieni ongelma. Jälleen.
Elikkäs olen wörkännyt objektin, joka hyppii ja pyörähtää samalla. Ongelma on se että kun objekti pyörii/on jossain muussa kulmassa, kuin alkuperäisessä, objektin ympärille ilmestyy "musta laatikko", joka katoaa kun objekti palaa alkuperäiseen asentoon. Olen törmännyt tähän monia kertoja, mutta vasta nyt se on todella haitaksi.

Ongelman voi kiertää käyttämällä maskivärinä mustaa, niin kuin oletuksena on, jolloin ei tarvitse kutsua MaskObjectia. Jos kuvassasi tarvitaan mustaa väriä voit muuttaa sen esimerkiksi 1,0,0 väriksi, jolloin se näyttää samalta mutta ei kuitenkaan maskaudu pois.
Re: Tyhmät kysymykset (I/2012)
Juu. Nyt toimiiLatexi95 wrote: Varmaankin käytät MaskObjectia? MaskObjectissa on sellainen ominaisuus/bugi, että se ei toimi objekteilla joita pyöritellään.![]()
Ongelman voi kiertää käyttämällä maskivärinä mustaa, niin kuin oletuksena on, jolloin ei tarvitse kutsua MaskObjectia. Jos kuvassasi tarvitaan mustaa väriä voit muuttaa sen esimerkiksi 1,0,0 väriksi, jolloin se näyttää samalta mutta ei kuitenkaan maskaudu pois.

<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Re: Tyhmät kysymykset (I/2012)
Taas pieni tyhmä kysymys. Tuntuu hyvin onnettomalta ku en saa millään seuraavaa koodia muutettua toimimaan For -looppina:
Olen nyt ties mitä kokeillut mutta aina on sama tulos: Yksi rivi hahmoja näkyy kerrallaan ja pelaaja ei näy ollenkaan
Code: Select all
Function UpdateDrawNums()
For pwn.PAWN = Each PAWN
If pwn\PosY = PlayerPosY-(TileSize*5) Then
pwn\DrawNum = 1
ElseIf pwn\PosY = PlayerPosY-(TileSize*4) Then
pwn\DrawNum = 2
ElseIf pwn\PosY = PlayerPosY-(TileSize*3) Then
pwn\DrawNum = 3
ElseIf pwn\PosY = PlayerPosY-(TileSize*2) Then
pwn\DrawNum = 4
ElseIf pwn\PosY = PlayerPosY-(TileSize*1) Then
pwn\DrawNum = 5
ElseIf pwn\PosY = PlayerPosY Then
pwn\DrawNum = 6
ElseIf pwn\PosY = PlayerPosY+(TileSize*1) Then
pwn\DrawNum = 7
ElseIf pwn\PosY = PlayerPosY+(TileSize*2) Then
pwn\DrawNum = 8
ElseIf pwn\PosY = PlayerPosY+(TileSize*3) Then
pwn\DrawNum = 9
ElseIf pwn\PosY = PlayerPosY+(TileSize*4) Then
pwn\DrawNum = 10
ElseIf pwn\PosY = PlayerPosY+(TileSize*5) Then
pwn\DrawNum = 11
Else
pwn\DrawNum = 0
EndIf
Next pwn
EndFunction
Code: Select all
Function UpdateDrawNums()
CurDrawNum = 1
Tiles = 5
For i = -Tiles To Tiles
For pwn.PAWN = Each PAWN
If pwn\PosY = PlayerPosY+(TileSize*i)
pwn\DrawNum = CurDrawNum
Else
pwn\DrawNum = 0
EndIf
Next pwn
CurDrawNum+1
Next i
EndFunction
-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: Tyhmät kysymykset (I/2012)
Auttaisi, jos selittäisit mitä koodin kuuluu tehdä. Jos tarkoitus on tehdä shakkilautatyyppinen peli, jossa pelaaja liikkuu ruudulla, niin tuota voisi lähteä toteuttaman paremminkin.Paroni wrote:Taas pieni tyhmä kysymys. Tuntuu hyvin onnettomalta ku en saa millään seuraavaa koodia muutettua toimimaan For -looppina:Olen nyt ties mitä kokeillut mutta aina on sama tulos: Yksi rivi hahmoja näkyy kerrallaan ja pelaaja ei näy ollenkaanCode: Select all
Function UpdateDrawNums() For pwn.PAWN = Each PAWN If pwn\PosY = PlayerPosY-(TileSize*5) Then pwn\DrawNum = 1 ElseIf pwn\PosY = PlayerPosY-(TileSize*4) Then pwn\DrawNum = 2 ElseIf pwn\PosY = PlayerPosY-(TileSize*3) Then pwn\DrawNum = 3 ElseIf pwn\PosY = PlayerPosY-(TileSize*2) Then pwn\DrawNum = 4 ElseIf pwn\PosY = PlayerPosY-(TileSize*1) Then pwn\DrawNum = 5 ElseIf pwn\PosY = PlayerPosY Then pwn\DrawNum = 6 ElseIf pwn\PosY = PlayerPosY+(TileSize*1) Then pwn\DrawNum = 7 ElseIf pwn\PosY = PlayerPosY+(TileSize*2) Then pwn\DrawNum = 8 ElseIf pwn\PosY = PlayerPosY+(TileSize*3) Then pwn\DrawNum = 9 ElseIf pwn\PosY = PlayerPosY+(TileSize*4) Then pwn\DrawNum = 10 ElseIf pwn\PosY = PlayerPosY+(TileSize*5) Then pwn\DrawNum = 11 Else pwn\DrawNum = 0 EndIf Next pwn EndFunction
Code: Select all
Function UpdateDrawNums() CurDrawNum = 1 Tiles = 5 For i = -Tiles To Tiles For pwn.PAWN = Each PAWN If pwn\PosY = PlayerPosY+(TileSize*i) pwn\DrawNum = CurDrawNum Else pwn\DrawNum = 0 EndIf Next pwn CurDrawNum+1 Next i EndFunction
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Re: Tyhmät kysymykset (I/2012)
Totta tosiaan. Tarkoitus siis olisi käydä x määrä tilejä, esimerkissäni 11, joiden keskimmäisessä tilessä on pelaajan sijainti. Käydään ylhäältä alas läpi näillä tileillä sijaitsevat hahmot ja annetaan sen mukaan DrawNum. Seuraava funktio sitten piirtää tämän numeron perusteella ruudulle:
Tämän lisäksi UpdateDrawNums kutsutaan vain silloin, kun joku on lopettanut liikkumisen. Tämä tehdään siis siksi, koska spriteni ovat 32x64 kokoisia joten hahmojen "pitää" näkyä toisten edessä tai takan riippuen näiden y koordinaatista.
Varmasti noiden sorttaukseen olisi jokin elegantimpi ja tehokkaampi tapa, mutta tämä on paras tapa jonka olen tähän mennessä saanut toimimaan.
On hiukan tehokkaamman olonen näin ensialkuun kuin tuo elseif sotku (plus luonnollisesti paljon helpommin muokattavissa).[/edit]
Code: Select all
Function DrawPawns()
For i = 1 To Tiles // edit: Tilesin sijaan oikeassa koodissa on vain "11"
For pwn.PAWN = Each PAWN
If pwn\DrawNum = i Then
DrawImage pwn\Img, pwn\PosX, pwn\PosY-(ImageHeight(pwn\Img)/2), pwn\Facing-1
EndIf
Next pwn
Next i
EndFunction
Varmasti noiden sorttaukseen olisi jokin elegantimpi ja tehokkaampi tapa, mutta tämä on paras tapa jonka olen tähän mennessä saanut toimimaan.
EDIT:
Hah!
Keksinkin yöunien jälkeen mistä kenkä puristaa. Else ...drawnum 0 tosiaan nollaa jokaisen hahmon drawnumin joten kukaan ei piirry
Toimiva koodi jos jotakuta mahtaa kiinnostaa/keksii parannettavaa:
Code: Select all
Function UpdateDrawNums()
Tiles = 5
CurDrawNum = 1
For pwn.PAWN = Each PAWN
pwn\DrawNum = 0
For i = -Tiles To Tiles
If pwn\PosY = PlayerPosY+(TileSize*i) Then
pwn\DrawNum = CurDrawNum
EndIf
If i = Tiles Then
CurDrawNum = 1
Else
CurDrawNum+1
EndIf
Next i
Next pwn
EndFunction
-
- Newcomer
- Posts: 1
- Joined: Tue May 28, 2013 1:31 pm
Re: Tyhmät kysymykset (I/2012)
minulla on sellainen ongelma, että kun avaan coolbasicin tietokoneen yhteydessä, coolbasic aukeaa, mutta kun yritän suorittaa jonkun tekemäni pelin niin kone väittää että ohjelma on jo käynnissä.
täten, joudun aina lataamaan coolbasicin uudestaan, jotta voin "koeajaa" pelini ??? missä piilee vika?
täten, joudun aina lataamaan coolbasicin uudestaan, jotta voin "koeajaa" pelini ??? missä piilee vika?

-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: Tyhmät kysymykset (I/2012)
Joka kerta ennen pelin ajamista painat Ctrl+Alt+Del, ja sammutat cbRun.exe prosesseista jos se on käynnissä._GRAAFIKKO_ wrote:minulla on sellainen ongelma, että kun avaan coolbasicin tietokoneen yhteydessä, coolbasic aukeaa, mutta kun yritän suorittaa jonkun tekemäni pelin niin kone väittää että ohjelma on jo käynnissä.
täten, joudun aina lataamaan coolbasicin uudestaan, jotta voin "koeajaa" pelini ??? missä piilee vika?
Jos tämä ei toimi, niin
Coolbasic editorin pikakuvake>Right click>Ominaisuudet>Yhteensopivuus>Käynnistä ohjelma järjestelmänvalvojana
Sitten käynnistä. Pitäisi toimia.
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Re: Tyhmät kysymykset (I/2012)
Ja copypastaa tuosta toisesta stickystä:
Voi myös olla, että virustorjuntaohjelmasi jollain tavalla estää CoolBasicia toimimasta - lisää cbRun.exe ja cbEditor.exe luotettavien ohjelmien listaan niin pitäisi sitten viimeistään toimia. Jos huolimatta tästä ei toimi, yksi mahdollinen ratkaisuvaihtoehto voi olla myös CoolBasicin tallentaminen jonnekin muualle kuin C-aseman Program Files-kansioon.
Voi myös olla, että virustorjuntaohjelmasi jollain tavalla estää CoolBasicia toimimasta - lisää cbRun.exe ja cbEditor.exe luotettavien ohjelmien listaan niin pitäisi sitten viimeistään toimia. Jos huolimatta tästä ei toimi, yksi mahdollinen ratkaisuvaihtoehto voi olla myös CoolBasicin tallentaminen jonnekin muualle kuin C-aseman Program Files-kansioon.
-
- Advanced Member
- Posts: 308
- Joined: Tue Nov 25, 2008 8:06 pm
- Contact:
Re: Tyhmät kysymykset (I/2012)
Tai sitten antaa itselleen kirjoitusoikeudet cb:n asennuskansioon. Mene kansioon, oletuksena C:\Program Files (x86)\CoolBasic, kakkosnappi -> ominaisuudet -> suojaus -> muokkaa -> lisää -> kirjoita käyttäjänimesi -> ok -> valitse täppä "kaikki oikeudet". Valinnat ei ehkä mene ihan sanatarkasti noin kun itsellä on vain englanninkielinen Windows käytössä.
a.k.a. Gehock
-
- Newcomer
- Posts: 4
- Joined: Sun Jun 02, 2013 9:52 am
Re: Tyhmät kysymykset (I/2012)
Hei!
Kysyisin että miten saa tekstin tulemaan silloin kun koskee jotain toista objektia?
Esim. Jos on ukko ja talo ja kun ukko koskee taloa pitäisi saada näkyviiin teksti "talo on lukossa".
Kysyisin että miten saa tekstin tulemaan silloin kun koskee jotain toista objektia?
Esim. Jos on ukko ja talo ja kun ukko koskee taloa pitäisi saada näkyviiin teksti "talo on lukossa".
Re: Tyhmät kysymykset (I/2012)
Mikäli talo on myös objekti (ei osa tilekarttaa), niin silloin homma hoituu helposti ObjectsOverlap-funktiolla.temetin123 wrote:Hei!
Kysyisin että miten saa tekstin tulemaan silloin kun koskee jotain toista objektia?
Esim. Jos on ukko ja talo ja kun ukko koskee taloa pitäisi saada näkyviiin teksti "talo on lukossa".
Esimerkki:
Code: Select all
If ObjectsOverlap(ukko, talo, [tapa]) // Jos objekti 'ukko' on objektin 'talo' päällä, niin...
Text 0,0,"talo on lukossa" //...tulostetaan vasempaan ylänurkkaan (0,0) teksti "talo on lukossa"
Endif
Esimerkki:
Code: Select all
// Oletuksena talon/oven kohdalle on asetettu arvoksi 1
If Getmap(3,ObjectX(ukko), ObjectY(ukko)) = 1 // Jos kartan 3. kerroksessa (datakerros) on ukon sijainnin kohdalla tilellä arvo 1, niin...
Text 0,0,"talo on lukossa" //...tulostetaan vasempaan ylänurkkaan (0,0) teksti "talo on lukossa"
Endif

-
- Newcomer
- Posts: 4
- Joined: Sun Jun 02, 2013 9:52 am
Re: Tyhmät kysymykset (I/2012)
Muuten mahtava mutta mitä tarkoitat tuolla [tapa] kohdalla, tarkoitatko objektin törmäys tapaa???