|
1 registered members (TipmyPip),
18,388
guests, and 6
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Sanp-Drehung
#224298
08/29/08 14:07
08/29/08 14:07
|
Joined: Jan 2006
Posts: 77
LX_Ulle
OP
Junior Member
|
OP
Junior Member
Joined: Jan 2006
Posts: 77
|
Hi,
ich habe vor, das sich ein Objekt mit hilfe der Pfeiltasten dreht. Dabei hab ich folgende Probleme:
die Pfeiltaste soll einmal gedrückt werden und das Objekt macht eine 90° drehung in die entsprechende richtung und bleibt dann stehen.
die Drehung soll aus Sicht der View immer an den gleichen Achsen verlaufen.
schon mal danke für eure ideen
Ladet eure Sorgen bei Gott ab, denn er sorgt für euch. 1. Petrus 5, 7
|
|
|
Re: Sanp-Drehung
[Re: LX_Ulle]
#224306
08/29/08 14:52
08/29/08 14:52
|
Joined: Jul 2007
Posts: 959 nl
flits
User
|
User
Joined: Jul 2007
Posts: 959
nl
|
function mouse_event()
{
if (event_type == EVENT_CLICK)
{
my.pan += 90;
//your_ent.pan += 90;
}
}
action sound_on_click()
{
my.ENABLE_CLICK = ON;
//my.emask |= ENABLE_CLICK;
my.event = mouse_event;
}
Last edited by flits; 08/29/08 14:53.
"empty"
|
|
|
Re: Sanp-Drehung
[Re: flits]
#224309
08/29/08 15:05
08/29/08 15:05
|
Joined: Jan 2006
Posts: 77
LX_Ulle
OP
Junior Member
|
OP
Junior Member
Joined: Jan 2006
Posts: 77
|
Danke, aber das ist nicht das wonach ich suche glaube ich
wenn ich pan +/- 90 nehme dann hab ich aber keine fließende Bewegung. Die Entity soll sich fließend bewegen und alle 90° stehen bleiben. Wie ich das hinkriege weiß ich eigentlich auch. Nur in Verbindung mit dem anderen Punkt macht mir das Probleme.
Ich möchte, das sich wenn ich die Pfeiltaste nach links oder rechts drücke, die entety immer an einer vertikalen also stehenden Achste orientiert. Und wenn ich die Pfeiltaste rauf oder runter drücke immer an einer Horizontalen, so als würde sich das Objekt nach vorne oder nach hinten in richtung View überschlagen.
Ladet eure Sorgen bei Gott ab, denn er sorgt für euch. 1. Petrus 5, 7
|
|
|
Re: Sanp-Drehung
[Re: LX_Ulle]
#224313
08/29/08 15:20
08/29/08 15:20
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
attention: c-script ahead
define turn_speed, 8;
define _turning, skill99;
entity* turn_ent;
function turn_object(_ent,_add)
{
var cur_pan;
var turn_dist;
turn_ent = _ent;
if(!turn_ent._turning)
{
turn_ent._turning = 1;
cur_pan = ang(turn_ent.pan);
while(ang(turn_ent.pan) < ang(cur_pan+_add))
{
turn_dist = ang(cur_pan+_add - turn_ent.pan);
clamp(turn_dist,0,turn_speed);
turn_ent.pan += turn_dist * time_step;
wait(1);
}
turn_ent.pan = ang(cur_pan + _add);
turn_ent._turning = 0;
}
}
warning: untested code above example: how to call the function turn_object(player,90); mapping to keys:
function turn_left()
{
turn_object(player,90);
}
function turn_right()
{
turn_object(player,-90);
}
on_cul = turn_left;
on_cur = turn_right;
|
|
|
|
|
|