Форум: "Игры";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];
ВнизКак крутить спрайты? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.048 c