Главная страница
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.026 c
4-1103105914
-=SS=-
2004-12-15 13:18
2005.02.06
Странное поведение Dll


1-1106500619
ZL
2005-01-23 20:16
2005.02.06
Line


6-1100972208
webmaster
2004-11-20 20:36
2005.02.06
Отпрака мыла через proxy сервер


1-1106230743
Мальцев
2005-01-20 17:19
2005.02.06
Установить фокус


1-1106657995
markers
2005-01-25 15:59
2005.02.06
Иконка в StatusBar`e