Jump to content
  • 0

pomoc Mám problém s rychlostí o objectu


Pepe16

Dotaz

Ahoj jak již název napovídá mám problém s rychlostí obejctu respektivě se závurou obj. 968 , vubec neraguje rychlsot proste šup a je otevřeno potřebuju rychlost menší přikládám i kod jaký mam

moc díky za každou radu

new zavora, zavoraStatus;


	zavoraStatus = 0;
	zavora = CreateObject(968, 841.53717, -1758.57886, 13.29410,   0.00000, 90.00000, 0.00000);//z do vnitř

    if (strcmp("/j10", cmdtext, true, 10) == 0)
	{
	    if (zavoraStatus == 0)
		{
        	MoveObject(zavora, 841.53717, -1758.57886, 13.29410, 0.5, 0.00000, 0.00000, 0.00000);
        	zavoraStatus = 1;
		}
	    else
		{
		    MoveObject(zavora, 841.53717, -1758.57886, 13.29410, 0.5, 0.00000, 90.00000, 0.00000);
		    zavoraStatus = 0;
		}
		return 1;
    }
Link to comment
Share on other sites

22 odpovědí na tuto otázku

Recommended Posts

  • 0

MoveObject len presúva objekt, a ty ho rotuješ, rýchlosť presúvania objektu je počet metrov za sekundu, ty máš nastavenú rýchlosť 0.5, čo znamená že sa objekt presunie pol metra za 1 sekundu, lenže ty ho presúvaš z miesta kde je na to isté miesto, čo znamená že urazí dokopy vzdialenosť 0.0 metra, takže sa presunie okamžite a počas presunu sa objekt aj otáča takže sa aj okamžite otočí. buď si vytvor nejaký timer ktorý ti bude napr každých 30 milisekund rotovať objekt o napr 1 stupeň alebo použi iný objekt.

Link to comment
Share on other sites

  • 0

logická rada, zmeň pozíciu, napríklad pri otvorenej bráne daj v Z ose +0.05
tým pádom sa objekt bude presúvať(už to nebude 0.0m) a tým pádom postupne rotovať, ale rýchlosť budeš musieť o dosť ubrať.. skús 0.05 prípadne menej

Link to comment
Share on other sites

  • 0

Pokud jsem neco neprehlid, tak ti jde o to, aby se object otocil kolem vlastni osy. Tedy neurazil zadnou vzdalenost. Coz bohuzel nejde, aby jeho rotace byla plynula musi urazit nejakou vzdalenost. Takze po posun po nejake z os o nejaky minimalni kousek, a otoceni by mnelo byt plynule.

Link to comment
Share on other sites

  • 0

skús to takto:

 

new zavora, zavoraStatus;
 
 
zavoraStatus = 0;
zavora = CreateObject(968, 841.53717, -1758.57886, 13.29410,   0.00000, 90.00000, 0.00000);//z do vnitř
 
    if (strcmp("/j10", cmdtext, true, 10) == 0)
{
   if (zavoraStatus == 0)
{
        MoveObject(zavora, 841.53717, -1758.57886, 13.29410, 0.01, 0.00000, 0.00000, 0.00000);
        zavoraStatus = 1;
}
   else
{
   MoveObject(zavora, 841.53717, -1758.57886, 13.23410, 0.01, 0.00000, 90.00000, 0.00000);
   zavoraStatus = 0;
}
Link to comment
Share on other sites

  • 0

rotuje sa počas presuvania, a milous, to je fakt good napad :d mňa to nikdy nenapadlo, ja som to riešil vlastnou funkciou čo postupne rotovala objekt pomocou timeru :d

dík, stačí len uvažovať :d

Frajtr, radšej si to choď otestovať ty :v:

Link to comment
Share on other sites

  • 0

Na jendom nejmenovanym serveru se zavora otvírala na příkaz opravdu pomalu nahoru proste to musí jít ale nevim jak

Ta rychlost kterou tam davas je v m/s.

 

r = m/s

 

Vzorecek ktery se uci na zakladi skole :)

Takze kdyz vzdalenost vydelis rychlosti vyjede ti cas. Nebo obracene, pokud znas vzdalenost a cas, muzes si vypocitat rychlost

Link to comment
Share on other sites

  • 0

Ta rychlost kterou tam davas je v m/s.

 

r = m/s

 

Vzorecek ktery se uci na zakladi skole :)

Takze kdyz vzdalenost vydelis rychlosti vyjede ti cas. Nebo obracene, pokud znas vzdalenost a cas, muzes si vypocitat rychlost

 

Měl jsem rychlsot 0.0001a stejně to je šup at tam dám kolik chci i vic furt to je stejně rychlé

Link to comment
Share on other sites

  • 0

máš to nahoře v kodu jen s rotaceY s 90 na 0

Takze si nepouzil ten kod co ti tady rikaji ze ?

Protoze v kodu, ktery jsi tady ukazal je vzdlenost pohybu 0.

tj

0.5 = 0/s

takze si muzes dat jakokoli rychlost ale cas je vzdy 0. Proto ti to skoci ihned na pozici at das jakykoliv cas.

Link to comment
Share on other sites

  • 0

ti pišem boha:

 

new zavora, zavoraStatus;
 
 
zavoraStatus = 0;
zavora = CreateObject(968, 841.53717, -1758.57886, 13.29410,   0.00000, 90.00000, 0.00000);//z do vnitř
 
if (strcmp("/j10", cmdtext, true) == 0)
{
if (zavoraStatus == 0)
{
        MoveObject(zavora, 841.53717, -1758.57886, 13.29410, 0.01, 0.00000, 0.00000, 0.00000);
        zavoraStatus = 1;
}
else
{
   MoveObject(zavora, 841.53717, -1758.57886, 13.23410, 0.01, 0.00000, 90.00000, 0.00000);
   zavoraStatus = 0;
}
}
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...