Tyhmät kysymykset (I/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
Ris
Active Member
Posts: 142
Joined: Wed Jul 02, 2008 8:27 pm

Re: Tyhmät kysymykset

Post by Ris »

LittleGreen wrote:Mitäköhän fonttia coolbasic käyttää automaattisesti?
Tai miten fontin voisi välillä "resetittää" alkuperäiseksi?
Käsittääkseni "coolb" on alkuperäinen fontti ja sitten tietenkin fontin latauksen jälkeen Setfont fonttimuuttuja
Ehkä vähän huonohko(?) esimerkki fontin vaihdosta.

Code: Select all

coolb=LoadFont("coolb",20)
system=LoadFont("fixedsys")

Repeat 

    if keyhit(28) then muuttuja = 1 'Enter
    if keyhit(57) then muuttuja = 0 'Space

    Select muuttuja 
        Case 0
            SetFont coolb
        Case 1
            SetFont system
    End Select
    
    ClearText
    AddText "Testi"
    
    DrawScreen 
Forever 
Kuitenkin mielestäni select.. case.. rakenteessa on järkevintä hoitaa fontin vaihtaminen.
Last edited by Ris on Sat Oct 11, 2008 2:20 am, edited 7 times in total.
User avatar
jpmp
Newcomer
Posts: 26
Joined: Fri Oct 10, 2008 9:18 pm

Re: Tyhmät kysymykset

Post by jpmp »

Toivottavasti kysymykseni ei ole moneen kertaan tullut tänne, kännykkäni netti nimittäin sekoilee hieman.

Eli olisi muutama kysymys.

Ensinäkin peliini pitäisi saada illuusio liikenteestä eli pitäisi saada autot kulkemaan määrättyä suuntaa ja sitten kääntymään. (ei siis pelaajan ohjaamaa autoa vaan tietokoneen) Toinen ongelma on saada poliisit seuraamaan pelaajaa jos tämä ajaa punaisia päin. Myös vinkkejä mistä saisi hälytysajoneuvojen ilmaisia ääniä kaivataan.

En ole sitten mikään mestari ohjelmoija ja siksi päätin pistää kysymykseni tänne.
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Tyhmät kysymykset

Post by temu92 »

LittleGreen wrote:Mitäköhän fonttia coolbasic käyttää automaattisesti?
Tai miten fontin voisi välillä "resetittää" alkuperäiseksi?
Alkuperäinen fontti on Courier New ja fonttikoko jotain 11-13 hujakoilla. Kokeilemalla se selviää.

Ja fontin saa tietenkin vaihdettua nopeasti ilman erillisiä muuttujia tyyliin:

Code: Select all

Setfont Loadfont(Courier New, 11)
User avatar
Substance
Active Member
Posts: 234
Joined: Fri Mar 14, 2008 5:48 pm

Re: Tyhmät kysymykset

Post by Substance »

Silti ihan erilaiset, katsokaa vaikka.

Code: Select all

Print "@ 00 ¤  original"
SetFont LoadFont("Courier New",13)
Print "@ 00 ¤   courier new 13"
SetFont LoadFont("coolb",13)
Print "@ 00 ¤  coolb 13"
SetFont LoadFont("Courier New",15)
Print "@ 00 ¤   courier new 15"
SetFont LoadFont("coolb",15)
Print "@ 00 ¤  coolb 15"
WaitKey
EDIT:

Tarvitsen siis ainakin hyvin paljon alkuperäistä muistuttavan fontin sillä pelihahamon pitää näyttää hyvältä vaikka onkin @ merkki.(huomaa allekirjoitukseni) Ongelma on siinä, että valikossa pitää olla pienempi fontti kuin itse pelissä johon tulee tuo etsimäni fontti.

Substance aka LittleGreen
Red Encounter - shoot'em uppia - lataus
voi pas*a!

Re: Tyhmät kysymykset

Post by voi pas*a! »

Oon täs jonkun aikaa koodaillu cee beellä, mutta nyt tuli vähän isompi onkelma. Elikkäs, miksi tuo koodi heittää mavia?

Kirjoitin tuonne, missä kohtia mav tulee, mutten tajua miten sen voisi korjata :?.

Code: Select all

SCREEN 800,600

'Types
'-------------------------------------------------
Type ENEMYC
    Field obj
End Type

Type BULLETS
    Field obj
End Type

'Loading...
'-------------------------------------------------
enemy=LoadObject("Media\guy.bmp",72)
ShowObject enemy,OFF

player=LoadObject("Media\soldier.bmp",72)
PositionObject player,0,-250

bullet=LoadObject("Media\bullet.bmp")
ShowObject bullet,OFF

fake_mouse=MakeObject()

enemies=3

'Loop
'-------------------------------------------------
Repeat

'Moving
'-------------------------------------------------
    PositionObject fake_mouse,MouseWX(),MouseWY()
    PointObject player,fake_mouse
    
    If KeyDown(cbKeyW) Then TranslateObject player,0,2
    If KeyDown(cbKeyS) Then TranslateObject player,0,-2
    If KeyDown(cbKeyA) Then TranslateObject player,-2,0
    If KeyDown(cbKeyD) Then TranslateObject player,2,0

'Enemies
'-------------------------------------------------
    If enemies > 0 And enemies < 4

        newEnemy.ENEMYC= New(ENEMYC)
        newEnemy\obj=CloneObject(enemy)
        PositionObject newEnemy\obj,Rand(300,-300),Rand(300,-50)
        MoveObject newEnemy\obj,3
        PointObject newEnemy\obj,player

        enemies -1
    EndIf

        l=0
    For lEnemy.ENEMYC= Each ENEMYC

        MoveObject lEnemy\obj,1
        PointObject lEnemy\obj,player

        l=l+1
        
    Next lEnemy

'Shooting
'-------------------------------------------------
    If MouseDown(1) And reload=0

        newBullet.BULLETS= New(BULLETS)
        newBullet\obj=CloneObject(bullet)
        CloneObjectPosition newBullet\obj,player
        CloneObjectOrientation newBullet\obj,player
        MoveObject newBullet\obj,24

        reload=30

    EndIf

    i=0
    For iBullet.BULLETS= Each BULLETS

        MoveObject iBullet\obj,6

    If Distance2(iBullet\obj,player)>1000 Then
            DeleteObject iBullet\obj
            Delete iBullet
    EndIf

        i=i+1

    Next iBullet

    If reload>0 Then reload=reload-1


'TÄSSÄ TULEE MAVI:
    While i > 0
        If ObjectsOverlap(iBullet\obj,lEnemy\obj) Then
            DeleteObject lEnemy\obj
            Delete lEnemy
            DeleteObject iBullet\obj
            Delete iBullet
            enemies +1
        EndIf
    Wend[/b]

'Drawscreen & Forever
'-------------------------------------------------
    DrawScreen

Forever
User avatar
TheDuck
Devoted Member
Posts: 632
Joined: Sun Aug 26, 2007 3:51 pm
Location: C:\Program Files\Tuusula\

Re: Tyhmät kysymykset

Post by TheDuck »

Code: Select all

'TÄSSÄ TULEE MAVI:
    While i > 0
        If ObjectsOverlap(iBullet\obj,lEnemy\obj) Then
            DeleteObject lEnemy\obj
            Delete lEnemy
            DeleteObject iBullet\obj
            Delete iBullet
            enemies +1
            exit
        EndIf
    Wend
Eli tuonne enemies + 1 jälkeen exit, niin pitäs toimii.
^^
qwetyone
Member
Posts: 50
Joined: Tue Oct 07, 2008 6:39 pm

Re: Tyhmät kysymykset

Post by qwetyone »

Mitenköhän minä saan tähän koodiin että kaikki on mustaa(ns.pimeää) ja ukolla on alue ympärillä jolla se näkee missä on? tarkoitan vähän niinkuin 360% taskulamppu.

Code: Select all

Type AMMUS
    Field obj
End Type 

FrameLimit 40

DrawToWorld ON

SCREEN 1100, 850

kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
ObjectPickable kartta, ON
PlayObject kartta,0,0,1

vihu3 = LoadObject("Media/soldier.bmp",1000)
vihu2 = LoadObject("Media/cow.bmp",1000)
vihu1 = LoadObject("Media/guy.bmp",1000)
vihu = LoadObject("Media/ukkeli.bmp",1000)
ukko = LoadObject("Media/guy.bmp",1000)
pati=LoadObject("Media\bullet.bmp")
ShowObject pati,OFF
SetupCollision vihu, ukko, 2, 2, 2
SetupCollision vihu1, ukko, 2, 2, 2
SetupCollision vihu2, ukko, 2, 2, 2
SetupCollision vihu3, ukko, 2, 2, 2
ObjectPickable vihu, 2
ObjectPickable vihu1, 2
ObjectPickable vihu2, 2
ObjectPickable vihu3, 2
PositionObject vihu, -400, 290
PositionObject vihu3, 400, -270
PositionObject vihu2, 400, 270
PositionObject vihu1, -400, -290
SetupCollision ukko, kartta, 1, 4, 2
SetupCollision vihu, vihu1, 2, 2, 2
SetupCollision vihu, vihu2, 2, 2, 2
SetupCollision vihu, vihu3, 2, 2, 2
SetupCollision vihu1, vihu, 2, 2, 2
SetupCollision vihu1, vihu2, 2, 2, 2
SetupCollision vihu1, vihu3, 2, 2, 2
SetupCollision vihu2, vihu, 2, 2, 2
SetupCollision vihu2, vihu1, 2, 2, 2
SetupCollision vihu2, vihu3, 2, 2, 2
SetupCollision vihu3, vihu, 2, 2, 2
SetupCollision vihu3, vihu1, 2, 2, 2
SetupCollision vihu3, vihu2, 2, 2, 2
RotateObject ukko, 0
RotateObject vihu, 0
RotateObject vihu1, 0
RotateObject vihu2, 180
RotateObject vihu3, 180
CameraFollow ukko,3,200

Repeat

   CloneCameraPosition ukko
   UpdateGame 
   
  
    If KeyHit(cbKeyRControl) And reload=0 Then    
        luoti.AMMUS = New(AMMUS)
        luoti\obj=CloneObject(pati)

        CloneObjectPosition luoti\obj,ukko                

        CloneObjectOrientation luoti\obj,ukko            
        reload=5      
    EndIf

    If reload>0 Then reload=reload-1

    For luoti.AMMUS = Each AMMUS
        MoveObject luoti\obj,25


           If ObjectsOverlap(luoti\obj,vihu2,2) Then 
PositionObject vihu2,Rand(-900,900),Rand(-700,900)
            EndIf

            'pelaaja
            If ObjectsOverlap(luoti\obj,vihu,2) Then 
PositionObject vihu,Rand(-900,900),Rand(-700,900)
            EndIf
            
             If ObjectsOverlap(luoti\obj,vihu1,2) Then 
PositionObject vihu1,Rand(-900,900),Rand(-700,900)
            EndIf

            'pelaaja
            If ObjectsOverlap(luoti\obj,vihu3,2) Then 
PositionObject vihu3,Rand(-900,900),Rand(-700,900)
            EndIf

            If GetMap (2,ObjectX(luoti\obj),ObjectY(luoti\obj)) Then 
                DeleteObject luoti\obj
                Delete luoti
            EndIf

   Next luoti

  If DownKey() Then MoveObject ukko, -5
  If UpKey() Then MoveObject ukko, 5
  If LeftKey() Then TurnObject ukko, 5
  If RightKey() Then TurnObject ukko, -5
   
  PointObject vihu, ukko
  MoveObject vihu, 3

  PointObject vihu1, ukko
  MoveObject vihu1, 3

  PointObject vihu2, ukko
  MoveObject vihu2, 3

  PointObject vihu3, ukko
  MoveObject vihu3, 3

            If ObjectsOverlap(vihu2,ukko,2) Then 
PositionObject ukko,Rand(-900,900),Rand(-700,900)
            EndIf

            If ObjectsOverlap(vihu,ukko,2) Then 
PositionObject ukko,Rand(-900,900),Rand(-700,900)
            EndIf
            
                        If ObjectsOverlap(vihu1,ukko,2) Then 
PositionObject ukko,Rand(-900,900),Rand(-700,900)
            EndIf
            
                        If ObjectsOverlap(vihu3,ukko,2) Then 
PositionObject ukko,Rand(-900,900),Rand(-700,900)
            EndIf

    DrawGame 
    
    Text 900,0,Date()
    Text 900,20,Time()
    Text 900,40,Timer()
    
       If ObjectSight (ukko, vihu) Then
     Text 10,90,"New object detected! Analyzing... Its a zombie. Shoot 'em up"
     EndIf
   If ObjectSight (ukko, vihu) Then
   Text 10,110," ROGER "
   EndIf 
   
          If ObjectSight (ukko, vihu1) Then
     Text 10,90,"New object detected! Analyzing... Its a zombie. Shoot 'em up"
     EndIf
   If ObjectSight (ukko, vihu1) Then
   Text 10,110," ROGER "
   EndIf 
   
          If ObjectSight (ukko, vihu2) Then
     Text 10,90,"New object detected! Analyzing... Its a zombie. Shoot 'em up"
     EndIf
   If ObjectSight (ukko, vihu2) Then
   Text 10,110," ROGER "
   EndIf 
   
          If ObjectSight (ukko, vihu3) Then
     Text 10,90,"New object detected! Analyzing... Its a zombie. Shoot 'em up"
     EndIf
   If ObjectSight (ukko, vihu3) Then
   Text 10,110," ROGER "
   EndIf
   
            If ObjectSight (ukko, vihu3) Then
  Text 300,700,"WARNING!!! WARNING!!! ENEMY DETECTED!!! ENEMY DETECTED!!!"
   EndIf 
  
              If ObjectSight (ukko, vihu2) Then
  Text 300,700,"WARNING!!! WARNING!!! ENEMY DETECTED!!! ENEMY DETECTED!!!"
   EndIf 
   
               If ObjectSight (ukko, vihu1) Then
  Text 300,700,"WARNING!!! WARNING!!! ENEMY DETECTED!!! ENEMY DETECTED!!!"
   EndIf 
   
               If ObjectSight (ukko, vihu) Then
  Text 300,700,"WARNING!!! WARNING!!! ENEMY DETECTED!!! ENEMY DETECTED!!!"
   EndIf 
  
        Text 10,10,"Location"
        Text 10,30,"X: "+ObjectX(ukko)
    Text 10,50,"Y: "+ObjectY(ukko)
    Text 10,70,"angle: "+ObjectAngle(ukko)
    
    ObjectPick ukko
    e=PickedObject()
    
    If e=vihu Then
        Color cbMagenta
        Circle PickedX()-9,PickedY()+9,13,OFF
    EndIf
    
        If e=vihu Then
       Text 420,450,"TARGET ON SHOOT LINE!!!"
    EndIf
    
        If e=vihu1 Then
        Color cbMagenta
        Circle PickedX()-9,PickedY()+9,13,OFF
    EndIf
    
        If e=vihu1 Then
       Text 420,450,"TARGET ON SHOOT LINE!!!"
    EndIf
    
        If e=vihu2 Then
        Color cbMagenta
        Circle PickedX()-9,PickedY()+9,13,OFF
    EndIf
    
        If e=vihu2 Then
       Text 420,450,"TARGET ON SHOOT LINE!!!"
    EndIf
    
        If e=vihu3 Then
        Color cbMagenta
        Circle PickedX()-9,PickedY()+9,13,OFF
    EndIf
    
        If e=vihu3 Then
       Text 420,450,"TARGET ON SHOOT LINE!!!"
    EndIf
        
    If e=kartta Then
        Color cbGreen
        Circle PickedX()-4,PickedY()+4,8,OFF    
    EndIf

  DrawScreen

Forever 
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Tyhmät kysymykset

Post by Sly_Jack0 »

Tee ruudun kokoinen kuva johon piirrät ruudun kokoisen laatikon värillä 1,1,1 ja sen jälkeen piirrät kuvaa keskelle ympyrän värillä 0,0,0 ja sen jälkeen maskaat kuvan tuolla ympyrän värillä ja piirrät sen ruutuun....

Tässä vielä esimerkki:

Code: Select all

FrameLimit 40

kuva = MakeImage(400,300)

DrawToImage kuva

	Color 1,1,1
	Box 0,0,400,300
	
	Color 0,0,0
	Circle 100,50,200
	
DrawToScreen

MaskImage kuva,0,0,0

'Tee pelimaailma
ruoho = MakeObjectFloor ()
nurmikko = LoadImage ("Media\grass.bmp")
PaintObject ruoho, nurmikko

ukko1 = LoadObject ("Media\guy.bmp",72)
Repeat



    'Ukon 1 ohjaus
    If LeftKey() Then TurnObject ukko1,5
    If RightKey() Then TurnObject ukko1,-5
    If UpKey() Then MoveObject ukko1,2
    If DownKey() Then MoveObject ukko1,-2

	CloneCameraPosition ukko1


    DrawGame

	DrawImage kuva,0,0

    DrawScreen

Forever
EDIT:

Lisäsin esimerkin...

Miten erikoismerkkejä?

Re: Tyhmät kysymykset

Post by Miten erikoismerkkejä? »

Mitenkä tekstiin tai tiedostoon kirjoittaessa voi lisätä "-merkin? Eli jos haluaa vaikkapa kirjoittaa tiedostoon rivin:

Miten erikoismerkkejä? kysyy: "Miten voi lisätä lainausmerkin tekstiin?"

niin onko se mahdollista?
User avatar
TheDuck
Devoted Member
Posts: 632
Joined: Sun Aug 26, 2007 3:51 pm
Location: C:\Program Files\Tuusula\

Re: Tyhmät kysymykset

Post by TheDuck »

On mahdollista, katos manuaalista funktio chr()
^^
qwetyone
Member
Posts: 50
Joined: Tue Oct 07, 2008 6:39 pm

Re: Tyhmät kysymykset

Post by qwetyone »

Miten voi saada objectin osoittamaan hiirtä kohti??? PointObjectilla se ei onnistu
User avatar
KillBurn
Advanced Member
Posts: 339
Joined: Wed Aug 29, 2007 5:02 pm

Re: Tyhmät kysymykset

Post by KillBurn »

Gwetyone wrote:Miten voi saada objectin osoittamaan hiirtä kohti??? PointObjectilla se ei onnistu
mitä tarkoitat, pointobjectilla ei onnistu??

Code: Select all

FrameLimit 40

target=LoadObject("media\cow.bmp")
guy=LoadObject("media\guy.bmp",32)


Repeat
PositionObject target,MouseWX(),MouseWY()
PointObject guy,target

DrawScreen

Forever
noinko?
Gwetyone wrote:kiitti, entä mikä on hiiren vasemman näppäimen näppäinkoodi???
Mousehit(1) on vasemman oikea on mousehit(2) ja kolmonen on mousehit(3) sekä rullaa voi käyttää komentamalla mousemovez().
miksi kysyit kahdesti?
Last edited by KillBurn on Sat Oct 11, 2008 12:36 pm, edited 5 times in total.
Sumu Games: Sam, Ur eye!
qwetyone
Member
Posts: 50
Joined: Tue Oct 07, 2008 6:39 pm

Re: Tyhmät kysymykset

Post by qwetyone »

kiitti, entä mikä on hiiren vasemman näppäimen näppäinkoodi???
Ris
Active Member
Posts: 142
Joined: Wed Jul 02, 2008 8:27 pm

Re: Tyhmät kysymykset

Post by Ris »

Tarvitsen siis ainakin hyvin paljon alkuperäistä muistuttavan fontin sillä pelihahamon pitää näyttää hyvältä vaikka onkin @ merkki.(huomaa allekirjoitukseni) Ongelma on siinä, että valikossa pitää olla pienempi fontti kuin itse pelissä johon tulee tuo etsimäni fontti.
Näin se onnistuu. Elikkä yksinkertaisesti kun fonttia ei tarvita enään niin deletefont fonttimuuttuja.
Tällöin palautuu alkuperäinen fontti, kun muistissa ei ole enään käytettäviä fontteja.

Code: Select all

Print "@ 00 ¤  original"
cn13=LoadFont("Courier New",13)
SetFont cn13
Print "@ 00 ¤   courier new 13"
coolb13=LoadFont("coolb",13)
SetFont coolb13
Print "@ 00 ¤  coolb 13"
cn15=LoadFont("Courier New",15)
SetFont cn15
Print "@ 00 ¤   courier new 15"
coolb15=LoadFont("coolb",15)
SetFont coolb15
Print "@ 00 ¤  coolb 15"
WaitKey

DeleteFont coolb13  ' Tässä poistetaan setfontilla käyttöön otetut fontit muistista. 
DeleteFont coolb15  ' Jolloinka palautuu alkuperäinen fontti.
DeleteFont cn15      ' Tietenkin nuo poistetut fontit pitää ladata uudelleen tämän jälkeen. 
DeleteFont cn13

Print "@ 00 ¤  original"
WaitKey 
Niin ja CoolBasicin manuaalia kannattaa lukea. ;)
Last edited by Ris on Sat Oct 11, 2008 1:05 pm, edited 5 times in total.
qwetyone
Member
Posts: 50
Joined: Tue Oct 07, 2008 6:39 pm

Re: Tyhmät kysymykset

Post by qwetyone »

Mikä on hiiren vasemman näppäimen scan-koodi?


edit: Eiku ei mitään :D sain apua mousehit komennolta
SuojelusPerkele
Newcomer
Posts: 37
Joined: Tue Sep 09, 2008 4:17 pm

Re: Tyhmät kysymykset

Post by SuojelusPerkele »

Voisiko joku laittaa pientä esimerkkiä waypointeista, semmonen missä vaikka kolme palloa kulkee peräkkäin neliönmuotoista rataa?

Jos ymmärsitte mitä tarkoitin..
Blooddrunk Game Industry [BGI] :

Unlimited 1.0 = 100%
-Päivityksiä suunnitteilla

Kollaa kestää!
-Suunnitteluvaiheessa
-Tower defence -tyylinen, torju kommunistivyöryt kannaksella
_____
Vertos
Teppo

Re: Tyhmät kysymykset

Post by Teppo »

Voisikos joku kirjoittaa tuonne esimerkkikoodit-alueelle hajoava maasto-esimerkin?
User avatar
KillBurn
Advanced Member
Posts: 339
Joined: Wed Aug 29, 2007 5:02 pm

Re: Tyhmät kysymykset

Post by KillBurn »

SuojelusPerkele wrote:Voisiko joku laittaa pientä esimerkkiä waypointeista, semmonen missä vaikka kolme palloa kulkee peräkkäin neliönmuotoista rataa?

Jos ymmärsitte mitä tarkoitin..
Tässä olisi.

Code: Select all

FrameLimit 40 
SCREEN 800,600

map=LoadMap("media\map.til","media\tileset.bmp")
ukko=LoadObject("media\guy.bmp",32)
target=MakeObject()

'Scannataan montako eri data numeroa on
i=0
For y=1 To MapWidth()
For x=1 To MapWidth()
    If GetMap2(3,x,y) Then maxdata+1
Next x
Next y
'päälooppi
Repeat
'Käännenään ukko katsomaan kohdetta ja liikutetaan se sinne
PointObject ukko,target
MoveObject ukko,3

CloneCameraPosition ukko

If ObjectsOverlap(ukko,target) Then way+1'jos ukko ja kohde törmää niin kohde vaihtaa paikkaa
'Katsotaan mihin kohtiin kohde voi asettua
For x=1 To MapWidth()
For y=1 To MapWidth()
If GetMap2(3,x,y)=way Then PositionObject target,x*32-(ObjectSizeX(map)/2),-y*32+(ObjectSizeY(map)/2)
Next y
Next x

'Jos Astutaan viimeiseen data kerrokseen niin aloitetaan lenkki alusta
If way>maxdata Then way=0
DrawScreen
Forever 


Tarvitset kartan jossa datakerrokseen on kirjattu Waypointit ykkösestä eteenpäin
Sumu Games: Sam, Ur eye!
Voi pas*a

Re: Tyhmät kysymykset

Post by Voi pas*a »

TheDuck wrote:

Code: Select all

'TÄSSÄ TULEE MAVI:
    While i > 0
        If ObjectsOverlap(iBullet\obj,lEnemy\obj) Then
            DeleteObject lEnemy\obj
            Delete lEnemy
            DeleteObject iBullet\obj
            Delete iBullet
            enemies +1
            exit
        EndIf
    Wend
Eli tuonne enemies + 1 jälkeen exit, niin pitäs toimii.
ei kun vieläkin herjaa -.- mis vika?
SuojelusPerkele
Newcomer
Posts: 37
Joined: Tue Sep 09, 2008 4:17 pm

Re: Tyhmät kysymykset

Post by SuojelusPerkele »

KillBurn wrote:
SuojelusPerkele wrote:Voisiko joku laittaa pientä esimerkkiä waypointeista, semmonen missä vaikka kolme palloa kulkee peräkkäin neliönmuotoista rataa?

Jos ymmärsitte mitä tarkoitin..
Tässä olisi.

Code: Select all

FrameLimit 40 
SCREEN 800,600

map=LoadMap("media\map.til","media\tileset.bmp")
ukko=LoadObject("media\guy.bmp",32)
target=MakeObject()

'Scannataan montako eri data numeroa on
i=0
For y=1 To MapWidth()
For x=1 To MapWidth()
    If GetMap2(3,x,y) Then maxdata+1
Next x
Next y
'päälooppi
Repeat
'Käännenään ukko katsomaan kohdetta ja liikutetaan se sinne
PointObject ukko,target
MoveObject ukko,3

CloneCameraPosition ukko

If ObjectsOverlap(ukko,target) Then way+1'jos ukko ja kohde törmää niin kohde vaihtaa paikkaa
'Katsotaan mihin kohtiin kohde voi asettua
For x=1 To MapWidth()
For y=1 To MapWidth()
If GetMap2(3,x,y)=way Then PositionObject target,x*32-(ObjectSizeX(map)/2),-y*32+(ObjectSizeY(map)/2)
Next y
Next x

'Jos Astutaan viimeiseen data kerrokseen niin aloitetaan lenkki alusta
If way>maxdata Then way=0
DrawScreen
Forever 


Tarvitset kartan jossa datakerrokseen on kirjattu Waypointit ykkösestä eteenpäin
Kiitoksia. Entäs jos tekisin ainoastaan piirtokomennoilla, eli ei olisi tilemappia taustalla?
Blooddrunk Game Industry [BGI] :

Unlimited 1.0 = 100%
-Päivityksiä suunnitteilla

Kollaa kestää!
-Suunnitteluvaiheessa
-Tower defence -tyylinen, torju kommunistivyöryt kannaksella
_____
Vertos
Locked