|
SWiSH Forum Forum użytkowników programów SWiSH |
|
SWiSH Max - Klawisze i obiekt
vanioch - Pon 19 Gru, 2011 18:40 Temat postu: Klawisze i obiekt Witam, jak wykonać efekt że powiedzmy mamy pewną drogę oraz kulkę. Kulka możemy sterować klawiaturą (strzałkami) ale kulka nie może wyjść poza tą drogę (reaguję na kolizję ze ścianą drogi) odbija się od niej.
Januszr - Pon 19 Gru, 2011 19:36
Kiedyś zrobiłem 10 poziomowy labirynt (tak Mielu i Shastan - nudziło mi się), gdzie kolizje realizowałem poprzez:
Kod: | onSelfEvent (enterFrame) {
if (_parent.JaKis_obiekt.hitTest(this)) {
//tutaj to co ma zrobić, np nextSceneAndPlay()
}
}
|
^^to do obiektu.
A ruch? no to chyba najzwyklej - tu na tym forum już o tym powinno być:
Kod: | onSelfEvent (enterFrame) {
if (Key.isDown(Key.right)) {
JaKis_obiekt._x += 0.5;
}
if (Key.isDown(Key.left)) {
JaKis_obiekt._x -= 0.5;
}
if (Key.isDown(Key.down)) {
JaKis_obiekt._y += 0.5;
}
if (Key.isDown(Key.up)) {
JaKis_obiekt._y -= 0.5;
}
}
|
^^ to do sceny
Tyle, że jak masz jakąś krzywą to raczej trzeba by to pociąć na setki elementów i każdemu przypisać taki sam skrypt. Ja zrobiłem labirynt z "cegiełk". No i jak do teraz nie potrafię go do końca przejść
espe1 - Pon 19 Gru, 2011 19:43
a prościej:
Kod: |
on (keyPress("<UP>")) {
_root.ball._y -= 2;
if (ball.hitTest(_root.pgorna)) {
_root.ball._y += 2;
}
}
on (keyPress("<DOWN>")) {
_root.ball._y += 2;
if (ball.hitTest(_root.pdolna)) {
_root.ball._y -= 2;
}
}
on (keyPress("<LEFT>")) {
_root.ball._x -= 2;
if (ball.hitTest(_root.plewa)) {
_root.ball._x += 2;
}
}
on (keyPress("<RIGHT>")) {
_root.ball._x += 2;
if (ball.hitTest(_root.pprawa)) {
_root.ball._x += 2;
}
} |
trzeba dodać 5 obiektów:
ball - piłka
pdolna - przeszkoda dolna itd:
pgorna
pprawa
plewa
vanioch - Pon 19 Gru, 2011 20:49
espe1 a jak będzie więcej ścian nie tylko 4? Np przeszkoda składać się bedzie z 20 takich ścianek to rozumiem 20 ifów?
|
|