Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

Как крутить спрайты?   Найти похожие ветки 

 
Wish ©   (2004-11-06 10:57) [0]

Сабж. Я пытался юзать DrawRotate(), но не работает. Еще чтобы найти градус прокрутки я написал формулу вычесления градуса поворота относительно игрока и положения мышки, но появляется ошибка: Incompatible types. В чем тут ошибка:

FAngle:= ArcSin(mouse.CursorPos.Y - round(ply)) div sqrt(((mouse.CursorPos.X - round(plx))*(mouse.CursorPos.X - round(plx))+((mouse.CursorPos.Y - round(ply))*(mouse.CursorPos.Y - round(ply)))));


 
dRake   (2004-11-06 13:49) [1]

Ну по поводу 1-ой части хз DelphiX не юзал
Imcompatible types из-за того что ArcSin(mouse.CursorPos.Y - round(ply)) - float а ты пытаешся его div, да еще и на другой флоат.

Посмотри я тут функцию накалякал для своей игрухи


FUNCTION v_Ang( x1, y1, x2, y2 : single ) : single;
VAR
 TMP : single;

BEGIN;

 TMP := v_Len(x1, y1, x2, y2);

 if (x2 >= x1) and (y2 > y1)  then Result := arccos((x2 - x1)/TMP)*180/Pi +   0;
 if (x2 <  x1) and (y2 >= y1) then Result := arccos((y2 - y1)/TMP)*180/Pi +  90;
 if (x2 <= x1) and (y2 < y1)  then Result := arccos((x1 - x2)/TMP)*180/Pi + 180;
 if (x2 > x1)  and (y2 <= y1) then Result := arccos((y1 - y2)/TMP)*180/Pi + 270;

END;


Возвращает угол в градусах между прямой, проведенной через точки с координатами x1, y1, x2, y2 и осью ОХ. Хоть и топорно написанна, зато работает :)


 
dRake   (2004-11-06 13:51) [2]

Упс забыл :)


FUNCTION v_Len( x1, y1, x2, y2 : single ) : single;
VAR
 TMP : single;

BEGIN;

 TMP := sqrt((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1));
 if (TMP = 0) then TMP := 0.0001;
 Result := TMP;

END;



Страницы: 1 вся ветка

Текущий архив: 2005.02.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
3-1105275140
chir
2005-01-09 15:52
2005.02.06
SQL: UPDATE: Ошибка


1-1106724321
mariya_mezenceva
2005-01-26 10:25
2005.02.06
есть ли функция типа (год,месяц,день:integer):tdatetime


3-1105003185
BorisMor
2005-01-06 12:19
2005.02.06
Соединение 2-х баз


3-1104926804
Marat
2005-01-05 15:06
2005.02.06
Блокировка сервера


1-1106174256
ROMBLLER
2005-01-20 01:37
2005.02.06
как из dll вставить фрейм в форму программы...