Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программирование столкновений, и создание выстрела 
:(
    Опции темы
Lehon
Дата 4.7.2010, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Всем привет. Написал небольшую программу. Одно изображение - мой самолет (имейдж2), второе вражеский (имейдж1). Не могу создать модель столкновений. По лефт и топ если сделать, то столкновение требует соблюдения слишком четких позиций. Как я понял надо создать интервал в каком и определять есть столкновение или нет, но как это сделать?
И еще момент - как создать стрельбу? Внизу как видно попытался сделать что-то, но дальше понять не могу.
Помогите плз ;)


Код

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int x;
int rand1;

int left1;
 TShape *shp;
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
Image1->Top=-150;
Image1->Left=500;



}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{

int c;
c=rand ()%980;

shp = new TShape (this);
          shp->Parent = Panel1;
          shp->Width = 20;
          shp->Height = 20;
          shp->Shape=stRoundRect;
          shp->Brush->Color=clMoneyGreen;
          shp->Top = 0;
          shp->Left = c;


         if ((shp->Top == Shape1->Top)&&(shp->Left == Shape1->Left)) delete shp;




}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
if(Key==VK_RIGHT)  Image2->Left=Image2->Left+20;

if(Key==VK_LEFT)   Image2->Left=Image2->Left-20;

if(Key==VK_UP)     Image2->Top=Image2->Top-5;

if(Key==VK_DOWN)   Image2->Top=Image2->Top+5;




}
//---------------------------------------------------------------------------












void __fastcall TForm1::Timer1Timer(TObject *Sender)
{

Image1->Top=Image1->Top+5;
                                          
rand1=rand ()%4;
if (rand1==0) left1=100;
if (rand1==1) left1=250;
if (rand1==2) left1=500;
if (rand1==3) left1=750;
if (rand1==4) left1=900;

if (Image1->Top>650) {Image1->Top=-150; Image1->Left=left1;};


int t1;
t1=Image1->Top;

if ((Image1->Top==Image2->Top)&&(Image1->Left==Image2->Left)) {Image1->Top=-150;};

}
//---------------------------------------------------------------------------




Это сообщение отредактировал(а) Lehon - 4.7.2010, 20:24
PM MAIL   Вверх
_Dimon_
Дата 4.7.2010, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 25.6.2007
Где: Украина

Репутация: 1
Всего: 1



Попробуй так, вот набросал на быструю руку к твоему коду, но с координатами там точнее поработать надо






Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  TEST.zip 15,67 Kb
PM MAIL   Вверх
SVN74
Дата 4.7.2010, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 11
Всего: 18



Картинки мерцают? Может лучше использовать для игр OpenGL или DirectX. На GDI дальше примитивных  игр не пойдете.
PM MAIL WWW   Вверх
Domain
Дата 5.7.2010, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 11.3.2010

Репутация: нет
Всего: нет



даааа. пустая трата времени.... openGl.
PM MAIL   Вверх
_Dimon_
Дата 5.7.2010, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 25.6.2007
Где: Украина

Репутация: 1
Всего: 1



Цитата(SVN74 @ 4.7.2010,  23:39)
Картинки мерцают? Может лучше использовать для игр OpenGL или DirectX. На GDI дальше примитивных  игр не пойдете.

Да, тут от этого никуда не денешся. Но товарищ Lehon написал именно так, а я только пару строк добавил...
PM MAIL   Вверх
Lehon
Дата 5.7.2010, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



_Dimon_ Спасибо, то что надо )

SVN74 Да, есть такое. Но выше GDI пока не забирался )
PM MAIL   Вверх
SVN74
Дата 10.7.2010, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 11
Всего: 18



Если хотите без особых усилий создавать современные игры, то для вас лучший вариант DarkGDK (бесплатный) мощнейший движок для Visual C++ 2008 Express (тоже бесплатной).
Фирма выпустила бесплатный GDK для ознакомления. Основной их продукт собственный "DarkBasicPro" базирующийся на синтаксисе старых Бейсиков. Кто знает, может вам вообще не нужен С++... 
http://www.thegamecreators.com/?m=view_product&id=2128
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0762 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.