Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2013, 16:00   #1
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию Не уничтожается корабль

Заранее извините за дилетанство, просто ничего другого не знаю, поэтому с чего-то надо же начинать.
Скачал с одного сайта игру, наподобие звездных войн. И хотел повторить ее. (Листинг той программы в архиве + мои *dpr, *pas, *exe). Но когда снаряд летит, он уничтожает другой корабль, а не тот в который целюсь. Где у меня ошибка?
Вложения
Тип файла: rar mygame3.rar (237.0 Кб, 15 просмотров)
helpkz вне форума Ответить с цитированием
Старый 14.05.2013, 16:41   #2
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Код:
if (Bullet.Top<Ship1.Top+Ship1.Height) and (Bullet.Left<Ship1.Left+Ship1.Width)
мне так кажется тут какой-то косяк.

может так.
( (пуля.x > корабль.x и пуля.x < (корабль.x+корабль.ширина))
и
(пуля.y > корабль.y и пуля.y < (корабль.y+корабль.высота)))
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 14.05.2013, 17:25   #3
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
[CODE]...

может так.
( (пуля.x > корабль.x и пуля.x < (корабль.x+корабль.ширина))
и
(пуля.y > корабль.y и пуля.y < (корабль.y+корабль.высота)))
Че-то нифига. Пуля долетает до конца и там остается
helpkz вне форума Ответить с цитированием
Старый 14.05.2013, 17:49   #4
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

helpkz, ты просто промахиваешься, ..."корабли", если их вообще можно так назвать, уничтожаются. А вот код недоделанный совсем. Пролёт "корабля" тащит форму на увеличение высоты, при которой происходит растяжка задника. "Пулька" при конце экрана не уничтожается. В общем, доделывать всё и вся.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 14.05.2013, 18:30   #5
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Цитата:
Сообщение от Beermonza Посмотреть сообщение
...растяжка задника....Что за растяжка?
Цитата:
Сообщение от Beermonza Посмотреть сообщение
"Пулька" при конце экрана не уничтожается.
Код:
Bullet.Left:=Shape1.Left+12;
Bullet.Top:=Shape1.Top+12;
Вот же, она встает на место.
В самой папке, как я уже писал, есть код той скачанной программы. И там все работает. А мой не хочет
1-ый и 2-ой уничтожаются, а третий глючит

Последний раз редактировалось helpkz; 14.05.2013 в 18:42. Причина: перетестил
helpkz вне форума Ответить с цитированием
Старый 14.05.2013, 20:29   #6
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

helpkz, попробуй не сбивать синие полоски и пропустить их, когда одна дайдёт до низа формы, она начнет увеличивать длину окна, ...ты увидишь как появится полоска прокрутки справа и начнет уменьшаться, показывая увеличение некоего объекта в который идет отрисовка. Последний расширяется автоматически, а следовало бы просто уничтожить пропущенный "кораблик".

Если стрелять не по "кораблям", а мимо, то пуля остаётся в верху формы и двигается вместе с курсором. И такого не бывает "у всех работает так, а у меня по другому", ...что в коде прописано то и выполняется. Если разработчик искренне уверен, что все будут строго блюсти правила игры и сбивать только корабли, то он ошибается. Следует учесть все возможные варианты пропуска кораблей, промашек, и пулька должна появляться "в стволе" если она пошла мимо цели.

Смотри внимательно код, ...честно говоря, брать за основу готовую поделку и пытаться переделать - ошибка номер 1! ...легко запутаться, особенно если ещё недостаточно знаний для осмысления для чего все эти строчки и как оно вообще работает, и может быть можно сделать проще, ...а ведь и можно, но пока не видно как

Начни с устранения багов.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 14.05.2013, 20:49   #7
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Спасибо за наставничество! Попробую поустранять баги. Да, те корабли, которые доходят до низа, теперь снова появляются сверху (устранил). А вот с пулей, которая остается вверху, еще разбираюсь.
helpkz вне форума Ответить с цитированием
Старый 15.05.2013, 08:57   #8
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Пуля встает на место, но когда стреляю в корабль, она через него проходит, а только потом исчезает, когда стреляешь в корабль, она пролетает через него, а потм только исчезает
Вложения
Тип файла: rar mygame3.rar (240.2 Кб, 10 просмотров)
helpkz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нарисовать движущийся корабль delphi Фари Мультимедиа в Delphi 4 04.04.2013 06:03
Робот-разведчик и космический корабль Ulq Паскаль, Turbo Pascal, PascalABC.NET 1 05.11.2011 21:03
Корабль в паскале Allemon Паскаль, Turbo Pascal, PascalABC.NET 0 23.12.2010 18:23
Не уничтожается объект Impuls1989 Общие вопросы C/C++ 5 19.06.2009 12:58