Tähtäin ammuskeluongelma

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
Re1z0r
Newcomer
Posts: 18
Joined: Tue Aug 28, 2007 7:14 pm
Location: Korpilahti
Contact:

Tähtäin ammuskeluongelma

Post by Re1z0r » Sat Dec 01, 2007 2:04 pm

Yritän tehä tällast iha perus räiskintää jos hiiri toimii tähtäimenä ja ukko kääntyy tähtäimee päi. Kuitenki heti ku liikun eteenpäi, hiirtä ei voikkaa liikuttaa sille mite haluaisin. Vähän vaikee oikeestaan selittää mite se tähtäin hiiri siin käyttäytyy mut kokeilkaa ite:

Code: Select all

'peli


FrameLimit 40

'ladataan kenttä
kartta = LoadMap ("media\cdm2.til","media\tileset.bmp")


'Ladataan objektit
ukko = LoadObject ("media\soldier.bmp",360)
vihu = LoadObject ("media\guy.bmp",360)
tähtäin = LoadObject ("media\target.bmp",0)

'törmäykset
SetupCollision ukko,vihu,2,2,2 
SetupCollision vihu,ukko,2,2,2

SetupCollision ukko,kartta,2,4,2
SetupCollision vihu,kartta,2,4,2

'vihu asetus
PositionObject vihu,400,400

'Enkat
ukkoenkka = 10


Repeat
    
    Text 0,0,"Energia "+ukkoenkka
    
    'Ukon ohjaus
    PositionObject tähtäin, MouseX()-ScreenWidth()/2,-MouseY()+ScreenHeight()/2
    
    PointObject ukko,tähtäin
    If UpKey() Then MoveObject ukko,3  
    If DownKey() Then MoveObject ukko,-2 
    
    
    'tekoäly
    If ObjectSight(vihu,ukko) And Distance2(vihu,ukko)<100 Then
        MoveObject vihu,2 
        PointObject vihu,ukko
    EndIf
    
    
    'enkka ja kuolema
    If ObjectsOverlap(vihu,ukko,2) Or ObjectsOverlap(ukko,vihu) Then
        ukkoenkka -1
        If ukkoenkka <=0 Then 
            DeleteObject ukko
            ClearKeys 
            GoTo kuolema
        EndIf
    EndIf
    
    'kamera
    CloneCameraPosition ukko
    
    
    DrawScreen
    
    

Forever

kuolema:

AddText "GAME OVER"
DrawScreen 
Wait 5000
End
 
kiitos jo etukätee niille, jotka osaa auttaa :D

User avatar
project coder
Newcomer
Posts: 27
Joined: Mon Aug 27, 2007 9:23 pm
Location: Kajaani

Re: Tähtäin ammuskeluongelma

Post by project coder » Sat Dec 01, 2007 2:11 pm

Maailmakordinaatteja käyttäessä pitää ottaa huomioon myös kameran sijainti.
Muuta rivi:

Code: Select all

PositionObject tähtäin, MouseX()-ScreenWidth()/2,-MouseY()+ScreenHeight()/2
tähän:

Code: Select all

PositionObject tähtäin, MouseWX(),MouseWY()
Kotisivut: (Uusitaan)
Secret Unit War (Frozen)
Tilekarttaeditori (Frozen)
Käyttöliittymän osia

Re1z0r
Newcomer
Posts: 18
Joined: Tue Aug 28, 2007 7:14 pm
Location: Korpilahti
Contact:

Re: Tähtäin ammuskeluongelma

Post by Re1z0r » Sat Dec 01, 2007 5:32 pm

Mul o vanha versio jaa uusi sekoo aina meijä koneel. Sen takii en käytä tota ku ei löydy tollasta komentoo

User avatar
project coder
Newcomer
Posts: 27
Joined: Mon Aug 27, 2007 9:23 pm
Location: Kajaani

Re: Tähtäin ammuskeluongelma

Post by project coder » Sat Dec 01, 2007 5:38 pm

Löytysköhän siitä vanhasta versiosta Camerax() ja Cameray() funktioita.
Jos löytyy niin muuta se rivi tällaiseksi:

Code: Select all

PositionObject tähtäin, MouseX()-ScreenWidth()/2+CameraX(),-MouseY()+ScreenHeight()/2+CameraY()
Kotisivut: (Uusitaan)
Secret Unit War (Frozen)
Tilekarttaeditori (Frozen)
Käyttöliittymän osia

Re1z0r
Newcomer
Posts: 18
Joined: Tue Aug 28, 2007 7:14 pm
Location: Korpilahti
Contact:

Re: Tähtäin ammuskeluongelma

Post by Re1z0r » Sun Dec 02, 2007 11:40 am

Joo, toi toimii täydellisesti. Kiitos vaa avusta!

User avatar
Pate5
Artist
Artist
Posts: 551
Joined: Tue Aug 28, 2007 4:53 pm
Location: Vantaa

Re: Tähtäin ammuskeluongelma

Post by Pate5 » Mon Dec 03, 2007 1:00 pm

Tämän ongelmanhan voisi ratkaista paljon yksinkertaisemmin.

Code: Select all

Positionobject tähtäin, mousewx(),mousewy()
MouseWX()- ja MouseWY()-funktiot kertovat hiiren sijainnin maailmankoordinaateissaa.

-Pate5
CoolBasic henkilökuntaa
Graafikko

User avatar
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: Tähtäin ammuskeluongelma

Post by tuhoojabotti » Mon Dec 03, 2007 7:57 pm

Pate5 wrote:Tämän ongelmanhan voisi ratkaista paljon yksinkertaisemmin.

Code: Select all

Positionobject tähtäin, mousewx(),mousewy()
MouseWX()- ja MouseWY()-funktiot kertovat hiiren sijainnin maailmankoordinaateissaa.

-Pate5
ööh niinkuin Re1z0r sanoi "Mul o vanha versio jaa uusi sekoo aina meijä koneel. Sen takii en käytä tota ku ei löydy tollasta komentoo" ei toimi
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”

Post Reply