kamera : komennot

CAMERAPICK


   KUVAUS

Tällä komennolla voit poimia pelikentältä objekteja esimerkiksi hiiren avulla samaan tapaan kuin strategiapeleissä valitaan hiirellä yksikkö, jota hallitaan. Komentoa on tarkoitettu käytettäväksi yhden kerran ennen varsinaista valitun objektin tutkiskelua. Poimitun objektin saat selville funktiolla PickedObject.

Huomaa myös, että poimittavat objektit pitää esitellä "poimittaviksi" ennen kuin CoolBasic tunnistaa niitä. Tämä tapahtuu komennolla ObjectPickable. Tämä mahdollistaa sen, että vain haluttuja objekteja voi poimia.

Koordinaatit esitellään ruudun mukaan (ei pelimaailman mukaan), eli ruudun vasen yläkulma on (0,0). Yleensä koordinaatteina toimii hiirikursori.

   KÄYTTÖ
CAMERAPICK x, y

  • x = Ruudun x-koordinaatti.
  • y = Ruudun y-koordinaatti.

  • Katso myös: OBJECTPICKABLE, PICKEDOBJECT, OBJECTPICK

       ESIMERKKI
    FrameLimit 40

    'Enable graphics commands to cast shapes to
    'the game world
    DrawToWorld ON

    pacman1=LoadObject("Media\pacman.bmp",360)
    pacman2=CloneObject(pacman1)
    pacman3=CloneObject(pacman1)

    ObjectPickable pacman1,1 'box-pick
    ObjectPickable pacman2,2 'circle-pick
    ObjectPickable pacman3,3 'pixel-perfect

    PositionObject pacman1, -100,0
    PositionObject pacman3, 100,0

    'Alter mouse pointer
    cursor=LoadImage("Media\crosshair.bmp")
    ShowMouse cursor

    Color cbblack

    Locate 70,80
    AddText "box-pick"
    Locate 160,80
    AddText "circle-pick"
    Locate 260,80
    AddText "pixel-perfect"


    Color cbblack
    ClsColor cbwhite


    Repeat

        'Make them spin, add some excitement
        TurnObject pacman1,1
        TurnObject pacman2,1
        TurnObject pacman3,1

        
        'Pick
        CameraPick MouseX(),MouseY()
        
        DrawGame
        
        'Something WAS picked, let's see what it is
        e=PickedObject()
        Color cbblack
        If e Then
            Color cbred
            If e=pacman1 Then
                Text 0,0,"pacman on the left"
            ElseIf e=pacman2 Then
                Text 0,0,"pacman at the center"
            ElseIf e=pacman3 Then
                Text 0,0,"pacman on the right"
            EndIf
        EndIf
        
        'draw the check-zones
        Box ObjectX(pacman1) -32,ObjectY(pacman1)+32,64,64,OFF
        Circle ObjectX(pacman2) -32,ObjectY(pacman2)+32,64,OFF
        
        DrawScreen

    Until EscapeKey()

    <<TAKAISIN