Ответ: Помогите исправить ошибку
Вложений: 1
Вот, держите.
|
Ответ: Помогите исправить ошибку
Вот, все исправил...
Начнём по порядку. Почему висло? 1. for i:=1 to 30 do for j:=1 to 30 do begin land_array [i,j]:=1; res:=openresource('/map.txt'); end; команда res:=openresource('/map.txt'); тут совершенно не уместна. То есть Вы пытальсь загрузить этот ресурс... 900 раз (30*30), что естественно занимает много времени. Переместить в другое место. 2. for i:=1 to 10 do begin S:=readline (res); for i:=1 to 10 do land_array[j,i]:=stringtointeger(GetChar(S,j-1)); end; тут 2 раза используется i. но ошибка в принципе не в этом (хотя так делать тоже нельзя) обратите внимание на land_array[j,i]. j по умолчанию равен нулю. а пределы массива 1..30. тоесть число ноль ну никак не принадлежит отрезку 1-30. поэтому игра висла. 3. я немного затупил с примером. вместо нуля (в ресурсе) должна быть единица, а вместо единицы - двойка. извините. Так. Еще замечания 1. delay (8000); задержка у Вас стоит 8 секунд (8000 миллисекунд). То есть 1 кадр в 8 секунд, из-за чего игра превращается в слайд-шоу. Зачем? Чем меньше задежка, тем лучше (в разумных пределах, конечно. советую ставить 40) 2. drawimage(pers,50,40); координата керсонажа равняется 50,40. То есть Вы ввели КОНСТАНТЫ, и они совершенно не зависят от значения x и y. То есть двигаться он никак не будет. Измените на drawimage(pers,x,y); Вроде всё |
Ответ: Помогите исправить ошибку
тема превратилась прямо-таки в FAQ для новичков. учит следить за всем, что ты делаешь.
кстати о FAQ, хочу вставить свои пять копеек. чтобы легче было отслеживать все свои циклы и вхождения в них, очень рекомендую использовать предусмотренные для этого инструменты MP. например, в опциях есть чекрыж "Show indentation guidelines" (3-й сверху). если его установить, то между, скажем, begin и end появится вертикальная линия. очень наглядно показывает начало и конец программных скобок. Код:
while GetKeyClicked <> KE_STAR do рекомендую довести это до автоматизма. лично меня соблюдение общепринятых стандартов всегда выручает, когда поднимаю старые проекты с километрами кода. |
Ответ: Помогите исправить ошибку
Со всем разобрался, но как исправить вторую проблему?
|
Ответ: Помогите исправить ошибку
Цитата:
|
Ответ: Помогите исправить ошибку
barsunduk, я вижу, Вы собрали. Дайте, пожалуйста, сборку посмотреть.
|
Ответ: Помогите исправить ошибку
Цитата:
|
Ответ: Помогите исправить ошибку
Вложений: 1
Цитата:
Цитата:
з.ы.: и фон удобно в MP2.2 прозрачным делать, и на выходе самый оптимальный формат png, сделать файл меньше больше нигде не смог |
Ответ: Помогите исправить ошибку
Вложений: 1
Цитата:
Лови. Вложение 15453. Обычно уменьшает размер на 10-20%, но иногда может и в 2 раза сжать (особенно хорошо это получается при работе с png24). Как пользоваться? Открыть с помощью->обзор->png out |
Ответ: Помогите исправить ошибку
Цитата:
|
Ответ: Помогите исправить ошибку
Как сделать управление цифрами? Вставил вместо GA_DOWN и KE_KEY8 и т.д., не реагирует что-то.
|
Ответ: Помогите исправить ошибку
И если нужно сделать поле не 10х10, а 8х9? Пробовал менять значения i и j на 8 и 9, затем сделал в тхт-карте поле 8х9. Виснет.
Цитата:
|
Ответ: Помогите исправить ошибку
PHP код:
--- позволил себе добавить несколько констант. теперь если нужно будет заменить графику (поставить спрайты другого размера, увеличить их количество) или поменять размерность этапов, то не нужно будет переписывать весь код, а достаточно поменять значения нескольких констант. ну, это так, на будущее. |
Ответ: Помогите исправить ошибку
И ещё одна подсказка:
"(keytoaction(key) = GA_UP)or(key = KE_KEY2)" keyToAction как бэ реагируент на нажатие кнопки вверх И на кнопку 2. Пруфкод: PHP код:
PHP код:
Для KeyToAction(GetKeyPressed): GA_UP (2 или джойстик вверх) GA_LEFT (4 или джойстик влево) GA_RIGHT (6 или джойстик вправо) GA_DOWN (8 или джойстик вниз) GA_FIRE (5 или джойстик (центральный)) Для GetKeyPressed: KE_KEY? (вместо "?" цифра от нуля до девятки) - соответствующая цифровая кнопка KE_STAR - звёздочка KE_POUND -решётка KE_NONE - если вообще никакая кнопка не нажата Для софт кнопок (слева и справа от джойстика), кнопок "положить/снять трубку", регулирования звука и всех прочих, таких команд не предусмотрено. |
Ответ: Помогите исправить ошибку
Спасибо!
|
Часовой пояс GMT +4, время: 16:35. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot