Добрый вечер товарищи, по скольку только изучаю все это дело, то возник такой вопрос: В общем необходимо вывести полосочку Хп из клиента руоффа на форму моей программки. Конечно же главное чтоб она прыгала по длине в зависимости от количества хп перса Оффсеты нашел: +0504 - максимальное количество ХП +04B8 - Текущее количество ХП Собственно вопрос то такой, как это реализовать?? я примерно понимаю что должно быть, но не знаю как это реализовать. Заранее спасибо
Самое банальное - ProgressBar. Если в наличии только оффсеты, достаточно считывать хп 2-3 раза в секунду и обновлять бар.
буду пробывать, спасибо! Буду благодарен, если натолкнешь еще на мыслю, как сделать обновление данных из клиента, т.Е программка их хватает, но при их изменении не реагирует. Я думал, что можно цыклом сделать таким если макс.Хп >= хп.текущ тогда (тут функции получения переменных) слип 2 но не сработало или я криво сделал
For, Do..While/Until, While - выбирай. Дельфи не знаю, но циклы - они везде циклы P.S. Как говорил один знакомый
Сейчас спровоцирую толпу сообщений "некропоооостер", но тем не менее. Отрисовкой можно управлять вручную, используя TCanvas нужного компонента: TForm, TPanel, да чего угодно, где он есть. 代码: procedure DrawProgressGauge(CurrentValue, MaxValue: Integer; TargetCanvas: TCanvas); const RECT_LEFT = 0; RECT_TOP = 0; RECT_WIDTH = 200; RECT_HEIGHT = 16; FILLED_COLOR = clGreen; UNFILLED_COLOR = clGrey; var ProgressRect: TRect; FilledPart: Integer; //Заполненная часть полоски UnfilledPart: Integer; //Незаполненная часть полоски begin //Рассчитываем ширину закрашенной и незакрашенной частей FilledPart := Round(RECT_WIDTH * (CurrentValue / MaxValue)); UnfilledPart := RECT_WIDTH -FilledPart; //Создаём прямоугольник и закрашиваем его цветом завершённого прогресса //Функция Bounds принимает параметры: Левый край, верхний край, ширина прямоугольника, высота прямоугольника ProgressRect := Bounds(RECT_LEFT, RECT_TOP, FilledPart, RECT_HEIGHT); TargetCanvas.Brush.Color := FILLED_COLOR; TargetCanvas.FillRect(ProgressRect); //То же самое, только теперь отступ слева идёт от конца завершенного прогресса ProgressRect := Bounds(RECT_LEFT+FilledPart, RECT_TOP, UnfilledPart, RECT_HEIGHT); TargetCanvas.Brush.Color := UNFILLED_COLOR; TargetCanvas.FillRect(ProgressRect); end; А так же можно воспользоваться компонентом TGauge, у которого в DesignTime можно настраивать цвета и отображение процентов.