Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Общие темы > Болтовня

Болтовня Разговоры на любые темы (думайте, о чем пишите)

Ответ
 
Опции темы
Старый 04.11.2007, 02:06   #1
Gamep
Оператор ЭВМ
 
Регистрация: 04.11.2007
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
ХЕЛП!!! Спрайты размножаются

Пожалуйста помогите! Пишу игру, возникла проблема с обновлением спрайтов, хочу чтобы спрайт сдвинулся в другую точку, а он тупо копируется, какие команды нужны на такую функцию? Напишите готовый пример! очень прошу.
(Offline)
 
Ответить с цитированием
Старый 04.11.2007, 02:16   #2
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Re: ХЕЛП!!! Спрайты размножаются

Приведи пример кода, экстрасенсов тут нет.
__________________
(Offline)
 
Ответить с цитированием
Старый 04.11.2007, 02:28   #3
Gamep
Оператор ЭВМ
 
Регистрация: 04.11.2007
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Re: ХЕЛП!!! Спрайты размножаются

begin
drawImage(loadImage('/1.png'), 0, 0);
repaint;
delay(1000);
drawImage(loadImage('/1.png'), 30, 64);
repaint;
delay(1000);
end. При этом коде спрайт копируется, а мне нужно, чтобы первый спрайт исчезал, а второй появлялся в указанной точке.
(Offline)
 
Ответить с цитированием
Старый 04.11.2007, 02:54   #4
Gamep
Оператор ЭВМ
 
Регистрация: 04.11.2007
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Re: ХЕЛП!!! Спрайты размножаются

begin
drawImage(loadImage('/1.jpg'), 0, 0);
repaint;
delay(1000);
drawImage('/a.png'), 37, 64);
repaint;
delay(1000);
drawImage('/a.png'), 30, 64);
repaint;
delay(1000);
end. Вот точный код, после запуска появляется фон картинка 1.jpg, затем спрайт a.png, затем этот спрайт копируется в другую точку, а мне надо чтобы спрайт с первоначальными координатами исчез и появился в другой точке. Как это сделать?
(Offline)
 
Ответить с цитированием
Старый 04.11.2007, 03:53   #5
Gamep
Оператор ЭВМ
 
Регистрация: 04.11.2007
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Re: ХЕЛП!!! Спрайты размножаются

Ну люди, ответьте же. Неужели никто незнает? Пожалуйста помогите, очень надо...
(Offline)
 
Ответить с цитированием
Старый 04.11.2007, 05:05   #6
Gamep
Оператор ЭВМ
 
Регистрация: 04.11.2007
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Re: ХЕЛП!!! Спрайты размножаются

Программирую на Midlet Pascal.
(Offline)
 
Ответить с цитированием
Старый 04.11.2007, 05:11   #7
Raiter
Гигант индустрии
 
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений
(для 92 пользователей)
Re: ХЕЛП!!! Спрайты размножаются


Да уж ясно, что не на Сях...


Мидлет Паскаль не знаю. Но и так видно, что тебе нужно очищать экранчег
Типо Cls.

Или это оно и есть?
repaint;
* (сам к сибе) и чаво я лезу?
(Offline)
 
Ответить с цитированием
Старый 04.11.2007, 10:24   #8
Gamep
Оператор ЭВМ
 
Регистрация: 04.11.2007
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Re: ХЕЛП!!! Спрайты размножаются

repaint по всей сути и должен обновлять содержимое экрана, но тупо копирует изображения. Кто-нибудь, кто шарит в паскале, проверьте пожалуйста код и что там не так?
(Offline)
 
Ответить с цитированием
Старый 04.11.2007, 11:22   #9
jimon
 
Сообщений: n/a
Re: ХЕЛП!!! Спрайты размножаются

при вот таком коде что будет на MP ?

begin
drawImage(loadImage('/1.png'), 0, 0);
drawImage(loadImage('/1.png'), 30, 64);
repaint;
delay(1000);
end.
 
Ответить с цитированием
Старый 04.11.2007, 11:43   #10
Gamep
Оператор ЭВМ
 
Регистрация: 04.11.2007
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Re: ХЕЛП!!! Спрайты размножаются

При таком коде сначала появляется один спрайт, на него накладывается другой, но это не то что мне нужно. Мне нужно чтобы 1.jpg ставился на фон, а a.png сначала накладывался на него, затем сдвигался в указанные мной координаты. Ну чего вы все? Я знаю что есть тут умные паскалисты, я весь форум перелопатил до 5 утра, но так и не получил нужного ответа.
(Offline)
 
Ответить с цитированием
Старый 04.11.2007, 17:12   #11
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Re: ХЕЛП!!! Спрайты размножаются

Ты темой не ошибся? А нафлужено-то...
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 04.11.2007, 22:27   #12
Eddy
Нуждающийся
 
Регистрация: 24.05.2006
Сообщений: 64
Написано 0 полезных сообщений
(для 0 пользователей)
Re: ХЕЛП!!! Спрайты размножаются

Gamep,
во-первых, как сказал сэр impersonalis, ты ошибся темой,
тебе сюда http://www.boolean.name/forumdisplay.php?f=47
и тему, имхо, надо перенести
во-вторых,

begin
drawImage(loadImage('/1.jpg'), 0, 0);
repaint;
delay(1000);
drawImage('/a.png'), 37, 64);
repaint;
delay(1000);
drawImage('/a.png'), 30, 64);
repaint;
delay(1000);
end. Вот точный код, после запуска появляется фон картинка 1.jpg, затем спрайт a.png, затем этот спрайт копируется в другую точку, а мне надо чтобы спрайт с первоначальными координатами исчез и появился в другой точке. Как это сделать?

прога делает именно то, что ты написал, вот примерный код, надеюсь всё поймешь:

while getkeypressed<>ke_key0 do begin //цикл, который будет идти, пока ты не нажмешь 0
if getkeypressed=ke_key6 then x:=x+1;
if getkeypressed=ke_key4 then x:=x-1;
drawimage(back,0,0);//рисуем фон
drawimage(sprite,x,64);//рисуем спрайт с координатами x и 64
repaint;
end;
в-третьих, если ты собираешься выводит рисунок мног раз, то рисовать так
drawImage(loadImage('/1.png'), 0, 0);
неправильно,
нужно до основного цикла объявить переменную типа image и присвоить ей рисунок, т.е.
var im:image;
begin
im:=loadimage('/image.png');
....
drawimage(im,0,0);
....
end;
в-четвертых, для "очитски" экрана стандартных процедур нет, можно делать так:
1)
setcolor(255,255,255);// выбираем цвет - белый
fillrect(0,0,176,220); //рисуем закрашенный прямоугольник выбранным цветом
2) если твой background занимает весь экран то можно просто нарисовать его
в-пятых, зачем тебе delay? тем более с такой большой задержкой?
вроде всё).
(Offline)
 
Ответить с цитированием
Старый 04.11.2007, 22:31   #13
Eddy
Нуждающийся
 
Регистрация: 24.05.2006
Сообщений: 64
Написано 0 полезных сообщений
(для 0 пользователей)
Re: ХЕЛП!!! Спрайты размножаются

при вот таком коде что будет на MP ?

Код:
begindrawImage(loadImage('/1.png'), 0, 0);drawImage(loadImage('/1.png'), 30, 64);repaint;delay(1000);end.

рисует 1.пнг в 0,0 в "память"
рисует 1.пнг в 30,64 в "память"
выводит всё что нарисованно
ждем одну секунду
закрываем мидлет
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анимированные спрайты. Tasadar 3D-программирование 12 03.11.2011 20:21
Блеклые спрайты Abiron 3D-программирование 18 20.06.2009 10:21
спрайты NoNsense 3D-программирование 31 21.08.2008 11:28
Спрайты и тайлы mrsandy Основной форум 1 29.01.2008 15:54
Спрайты освещения. HorNeS 3D-программирование 19 25.04.2006 23:34


Часовой пояс GMT +4, время: 11:16.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com