Поворот объекта
#21

я нехочу с ними работать, мне нужно просто, так сложно написать готовый код раз вы такие умные?
Reply
#22

А вообще эти все функции объектные задают угол относительно положения объекта или центра координат? Если первое то получится немножко посложнее

Хотя...
Reply
#23

offtopka:
у меня по алгебре и геометрии
3 нах с 8 класса по 11
Reply
#24

Есть функция:
pawn Code:
stock TurnPlayerFaceToPlayer(playerid, facingtoid)
{
     new Float:angle;
     new Float:misc = 5.0;
     new Float:x, Float:y, Float:z;
     new Float:ix, Float:iy, Float:iz;
     GetPlayerPos(facingtoid, x, y, z);
     GetPlayerPos(playerid, ix, iy, iz);
     angle = 180.0-atan2(ix-x,iy-y);
     angle += misc;
     misc *= -1;
     SetPlayerFacingAngle(playerid, angle+misc);
}
Поворачивает одного игрока лицом к другому. Думаю сможешь сделать для объекта и точки.
Reply
#25

вот спасибо!!! =)
Reply
#26

Quote:
Originally Posted by Zeex
View Post
tolko tam po-moemu nado eshe budet podkorrektirovat' rezultat (dobavit'/otn9t' skolko-to gradusov), ibo CreateObject i atan naskolko ya pomnu ots4itivaut ugli ot raznih osei (mb uje ispravili) + eshe zavisit ot samogo ob'ekta, v obshem kak-to tak
90 градусов отличие
Quote:
Originally Posted by dimonml
View Post
ОФФ: Забавно, работать с углами хотим, а изучить основы тригонометрии нет.
-Это грустно? Или весело?
-Это? Это печально. ©

Quote:
Originally Posted by lost13
View Post
я нехочу с ними работать, мне нужно просто, так сложно написать готовый код раз вы такие умные?
да вот че-то, мотивации нет, писать тебе код.
Reply
#27

да уже написали... правдо не пашет чтото =D
Reply
#28

ппц ты...
довай попрядку..
1) сколько тебе лет??!(если < 13-14 забрось это дело и иди играй в машинки)
2) напиши формулу нахождения длины линии(возьми в инете)
3) возьми листочек и ручку, нарисуй прямоугольный треугольник
4) обозначь C = 90 градусов = точка, которую надо найти
5) B и A = игрок и нужная точка соответственно
6) sin B = синус угла B
7) для нахождения угла нужно использовать такую функцию(обратная к синусу): arcsin (sin B)
иди думай сам, за тебя в жизни, если ты не захочешь, другие должны вытирать жопу чтоли?
п.с. так же можно использовать и tg, ctg, cos... я выбрал sin, в принципе разницы нет.
Reply
#29

ах да...
есть ещё один способ... я забыл про него рассказать
вобщем есть формула нахождения X и y через длину отрезка и син кос угла
формулы:
x = x0+l*cosa
y = y0+l*sina
надо найти cos a или sin a
x - x0=l*cosa | cosa = (x - x0) / l
a = arccos((x-x0)/l)
l = длина между игроком и точкой
Reply
#30

Quote:
Originally Posted by Aleks10
View Post
7) для нахождения угла нужно использовать такую функцию(обратная к синусу): arcsin (sin B)
у меня всегда с тригонометрией не все гладко было, поэтому могу ошибаться, но
мне кажется одного arcsin тут не достаточно для определения угла, так как он возвращает значение в диапазоне от -pi/2 до pi/2 (а это только половина от возможных углов)
так что надо еще и arccos подключать
я делал как-то так
pawn Code:
if(arcsin >= 0.0) angle = arccos;
else angle = 360.0 - arccos;
Reply
#31

да причем тут ид стрелки, дело в том, что я делал точно также и всё работало, теперь же даже если я ввожу команды стрелка создается меньше чем на секунду, хотя раньше такого небыло....
Reply
#32

Код в студию.
Reply
#33

код чего?
просто понимаешь всё работало, команду я неменял, и стрелка хотябы создавалась а щас моментально пропадает... короче насрать на это...
Reply
#34

Исходника винды, чего же ещё...
Стрелки твоей!
Reply
#35

фууу.... вроде заработало...
Reply
#36

всё работает =) спасибо Степашка за терпение =D
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)