Page 1 of 1
Miekka Ja Mies..
Posted: Wed May 28, 2008 8:32 pm
by Myst!c
Eli, minulla on ongelma saada kaksi objektia toimimaan "yhtenä", eli yritän saada miekan ukon käteen ja pysymään siinä kun liikun, yrittämisestäni huolimatta olen saanut sen tottelemaan mutta kun kävelen niin miekka "bugittaa", "tärisee" oudosti..
Ja kun en liiku ja käännyn, miekka ei käänny vaan kun lähden sen jälkeen liikkeelle, miekka kääntyy nopeasti takaisin Pelaajan kulmaan, koodia:
Code: Select all
ukko=LoadObject("Media/guy1.bmp",360)
ShowObject ukko, OFF
miekka=LoadObject("Media/sword.bmp",360)
ShowObject miekka, OFF
Repeat
LeftKey() Then
TurnObject ukko, 5
EndIf
If RightKey() Then
TurnObject ukko, -5
EndIf
If UpKey() Then
MoveObject ukko, 4
EndIf
If DownKey()
MoveObject ukko, -3
EndIf
kulma=GetAngle2(ukko,miekka)
RotateObject miekka, kulma
CloneObjectPosition miekka,ukko
MoveObject miekka, 10
TurnObject miekka,280
CloneCameraPosition ukko
DrawScreen
Forever
Ps. Kiitos etukäteen.
EDIT: Tämä kuuluisi ehkä tyhmiin kysymyksiin.. Noh, luotan Dibalon arviointikykyyn.
Re: Miekka Ja Mies..
Posted: Wed May 28, 2008 8:40 pm
by cheeshelmet.jr
no tuo kääntyminen tapahtuisi niin että korvaat sen:
kulma=GetAngle2(ukko,miekka)
RotateObject miekka, kulma
tällä :
CLONEOBJECTORIENTATION miekka, ukko
ja tärinän niin että poistat rivit:
MoveObject miekka, 10
TurnObject miekka,280
Re: Miekka Ja Mies..
Posted: Wed May 28, 2008 8:43 pm
by Myst!c
cheeshelmet.jr wrote:no tuo kääntyminen tapahtuisi niin että korvaat sen:
kulma=GetAngle2(ukko,miekka)
RotateObject miekka, kulma
tällä :
CLONEOBJECTORIENTATION miekka, ukko
ja tärinän niin että poistat rivit:
MoveObject miekka, 10
TurnObject miekka,280
Ei.
Et taida ymmärtää mitä haen takaa, peli on ylhäältäkuvattu RPG, jos teen miten sinä sanot, tapahtuu näin, miekka kulkee miehen mukana ja mies kääntyy aivan normaalisti ja miekka kääntyy oman "keskipisteensä" mukaan, se ei huomioi pelaajan kulmaa ollenkaan vaan kääntyy siis samaan kulmaan kuin mies mutta ei käänny miehen mukana.
EDIT: Kiitos kuitenkin että yritit auttaa, oma vikani kun en selittänyt tarpeeksi hyvin.
Re: Miekka Ja Mies..
Posted: Wed May 28, 2008 8:49 pm
by cheeshelmet.jr
Eli sen pitäisi kääntä oman reuna pisteensä mukaan ukon edessä??
Re: Miekka Ja Mies..
Posted: Wed May 28, 2008 8:52 pm
by Myst!c
cheeshelmet.jr wrote:Eli sen pitäisi kääntä oman reuna pisteensä mukaan ukon edessä??
Minun "logiikan" mukaan miekan pitää kääntyä Ukon keskipisteensä mukaan ja keskipisteenhän voi laskea korkeus/2 ja leveys/2, mutta ei tuota kaavaa tarvitse, haen lähinnä vastausta tuohon että miten sen saa kääntymään myös liikkumatta ja miten "bugittamisen" saa lakkaamaan. :3
Re: Miekka Ja Mies..
Posted: Wed May 28, 2008 10:16 pm
by Harakka
Onko siis tarkoitus, että miekka on vain ukon jatkeena? Se onnistuu esimerkiksi näin:
Code: Select all
ukko=LoadObject("Media/guy.bmp",360)
'ShowObject ukko, OFF
miekka=LoadObject("Media/tatti.bmp",360)
'ShowObject miekka, OFF
Repeat
if LeftKey() Then
TurnObject ukko, 5
EndIf
If RightKey() Then
TurnObject ukko, -5
EndIf
If UpKey() Then
MoveObject ukko, 4
EndIf
If DownKey()
MoveObject ukko, -3
EndIf
CloneObjectPosition miekka,ukko
CloneObjectOrientation miekka,ukko
MoveObject miekka, 10
CloneCameraPosition ukko
DrawScreen
Forever
Re: Miekka Ja Mies..
Posted: Thu May 29, 2008 12:45 pm
by Myst!c
Harakka wrote:Onko siis tarkoitus, että miekka on vain ukon jatkeena? Se onnistuu esimerkiksi näin:
Code: Select all
ukko=LoadObject("Media/guy.bmp",360)
'ShowObject ukko, OFF
miekka=LoadObject("Media/tatti.bmp",360)
'ShowObject miekka, OFF
Repeat
if LeftKey() Then
TurnObject ukko, 5
EndIf
If RightKey() Then
TurnObject ukko, -5
EndIf
If UpKey() Then
MoveObject ukko, 4
EndIf
If DownKey()
MoveObject ukko, -3
EndIf
CloneObjectPosition miekka,ukko
CloneObjectOrientation miekka,ukko
MoveObject miekka, 10
CloneCameraPosition ukko
DrawScreen
Forever
..... Tuohan on sama kuin cheeshelmet.jr:än juttu.. Selitin jo että jos tuolla lailla laittaa, miekka kääntyy oman "keskipisteensä" mukaan eikä ukon kanssa. :/ Ja sanoin myös että olen jo yrittänyt noin.
Kiitos kuitenkin...
Re: Miekka Ja Mies..
Posted: Thu May 29, 2008 3:07 pm
by Jonez
Tässä kaksi tapaa joilla saada objekti pyörimään tietyn pisteen mukaan. Tapa 1: Lasketaan sinillä ja cosinilla uusi paikka (koodissa objekti ukko).
Tapa 2: Jätetään yksinkertaisesti objektin kuvaan tyhjää tilaa, jolloin objekti on suurempi kuin miltä se näyttää. Näin objekti näyttää pyörivän esim. kahvan kohdalta, vaikka se oikeasti pyörii kuvan keskipisteen ympäri (koodissa cannon).
Code: Select all
ukko = LoadObject( "media\cow.bmp", 72 )
width = ObjectSizeX( ukko ) / 2
height = ObjectSizeY( ukko ) / 2
cannon = LoadObject( "media\cannon.bmp", 72 )
PositionObject cannon, 0, -50
Repeat
//pyöritetään lehmää
TurnObject ukko, 3
kulma# = ObjectAngle( ukko )
PositionObject ukko, Sin( kulma# + 90 ) * width , -Cos( kulma# + 90 ) * height
//pyöritetään cannonia
TurnObject cannon, 3
//piirretään valkoiset pallukat joiden ympärillä objektit pyörivät.
DrawGame
DrawToWorld ON
Circle ObjectX( ukko ) - 2.5 - Sin( kulma# + 90 ) * width, ObjectY( ukko ) + 2.5 + Cos( kulma# + 90 ) * height, 5
Circle ObjectX( cannon ) - 2.5, ObjectY( cannon ) + 2.5, 5
DrawToWorld OFF
DrawScreen
Forever
Re: Miekka Ja Mies..
Posted: Thu May 29, 2008 4:02 pm
by Myst!c
Jonez wrote:Tässä kaksi tapaa joilla saada objekti pyörimään tietyn pisteen mukaan. Tapa 1: Lasketaan sinillä ja cosinilla uusi paikka (koodissa objekti ukko).
Tapa 2: Jätetään yksinkertaisesti objektin kuvaan tyhjää tilaa, jolloin objekti on suurempi kuin miltä se näyttää. Näin objekti näyttää pyörivän esim. kahvan kohdalta, vaikka se oikeasti pyörii kuvan keskipisteen ympäri (koodissa cannon).
Code: Select all
ukko = LoadObject( "media\cow.bmp", 72 )
width = ObjectSizeX( ukko ) / 2
height = ObjectSizeY( ukko ) / 2
cannon = LoadObject( "media\cannon.bmp", 72 )
PositionObject cannon, 0, -50
Repeat
//pyöritetään lehmää
TurnObject ukko, 3
kulma# = ObjectAngle( ukko )
PositionObject ukko, Sin( kulma# + 90 ) * width , -Cos( kulma# + 90 ) * height
//pyöritetään cannonia
TurnObject cannon, 3
//piirretään valkoiset pallukat joiden ympärillä objektit pyörivät.
DrawGame
DrawToWorld ON
Circle ObjectX( ukko ) - 2.5 - Sin( kulma# + 90 ) * width, ObjectY( ukko ) + 2.5 + Cos( kulma# + 90 ) * height, 5
Circle ObjectX( cannon ) - 2.5, ObjectY( cannon ) + 2.5, 5
DrawToWorld OFF
DrawScreen
Forever
Kiitos!! Vähän soveltamalla sain sen etsimäkseni koodinpätkäksi, kiitos kaikille jotka jaksoivat vastata.