Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 23.01.2019
Сообщений: 8
1

Как создать стенку, через которую нельзя пройти?

23.01.2019, 14:34. Показов 1757. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть объект которым можно управлять, как сделать стенку\препятствие через которую невозможно пройти?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2019, 14:34
Ответы с готовыми решениями:

Как закрыть скрытую программу которую нельзя выключить через диспетчер задач ?
Здравствуйте, мне нужно закрыть программу которая скрыта (ShowWindow(Application.Handle, SW_HIDE))...

Создать папку на флешке которую нельзя удалить
Добрый всем день! Подскажите пожалуйста, как можно сделать на флешке неудаляемую папку??? Так чтобы...

Модуль минимальной скорости, которую должен иметь электрон, чтобы пройти магнитное поле
Однородное магнитное поле, модуль индукции которого В=10мТл, создано между двумя параллельными...

Форма, которую нельзя закрыть
Пожалуйста,помогите или дайте совет,как сделать незакрывающуюся программу через панель окон:)

15
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.01.2019, 14:53 2
Нужно смотреть как движется объект и какая его форма, как расположена стена и как она нарисована..
0
0 / 0 / 0
Регистрация: 23.01.2019
Сообщений: 8
23.01.2019, 14:56  [ТС] 3
Pascal
1
2
3
4
5
6
7
8
9
  procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
  begin
    case Key of
    'w': Shape1.Top := Shape1.Top - 3;
    's': Shape1.Top := Shape1.Top + 3;
    'a': Shape1.Left := Shape1.Left - 3;
    'd': Shape1.Left := Shape1.Left + 3;
    end;
  end;
Вот.
форма куба
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.01.2019, 14:58 4
А стена это что и как расположена?
0
0 / 0 / 0
Регистрация: 23.01.2019
Сообщений: 8
23.01.2019, 15:01  [ТС] 5
Дело как-раз в том что я эту стенку и не могу создать.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.01.2019, 15:02 6
Ну, нет тела, нет дела.
0
0 / 0 / 0
Регистрация: 23.01.2019
Сообщений: 8
23.01.2019, 15:11  [ТС] 7
Как создать стенку, через которую нельзя пройти?

не знаю можно-ли отправлять картинки но вот.
то что должно быть стенкой есть, но она пустая.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.01.2019, 16:37 8
Стенку можно сделать shape2.
Как создать стенку, через которую нельзя пройти?

А проверку на столкновение например так
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
var r1,r2,r3:TRect;
begin
 r1:=Shape1.BoundsRect;
 r2:=Shape2.BoundsRect;
   case Key of
    '1': if not IntersectRect(r3,r1,r2) then Shape1.Top := Shape1.Top - 3 ;
    '2': if not IntersectRect(r3,r1,r2) then Shape1.Top := Shape1.Top + 3;
    '3': if not IntersectRect(r3,r1,r2) then Shape1.Left := Shape1.Left - 3;
    '4': if not IntersectRect(r3,r2,r1) then Shape1.Left := Shape1.Left + 3;
    end;
end;
в раздел Uses добавить Type
Шаг нужно сделать=1, а то будет на 3 пиксела въезжать в стенку.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.01.2019, 16:39 9
Я там когда тестировал сменил клавиши, исправь.
0
0 / 0 / 0
Регистрация: 23.01.2019
Сообщений: 8
23.01.2019, 17:01  [ТС] 10
Как создать стенку, через которую нельзя пройти?

не работает
не знаю чего оно так(
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.01.2019, 17:03 11
Модуль Type подключил?
0
0 / 0 / 0
Регистрация: 23.01.2019
Сообщений: 8
23.01.2019, 17:07  [ТС] 12
Как создать стенку, через которую нельзя пройти?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.01.2019, 17:14 13
Ну не знаю, у меня работает.
Вложения
Тип файла: zip IntersectRect_2.zip (126.5 Кб, 2 просмотров)
0
0 / 0 / 0
Регистрация: 23.01.2019
Сообщений: 8
23.01.2019, 17:17  [ТС] 14
файл не открывается
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.01.2019, 17:20 15
Да ну тебя, у меня архив скачивается, распаковывается, программа запускается.
Смотри код.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  StdCtrls,Types;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Shape1: TShape;
    Shape2: TShape;
    procedure FormCreate(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: char);
  private
 
  public
 
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 keypreview:=true;
end;
 
procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
var r1,r2,r3:TRect;
begin
 r1:=Shape1.BoundsRect;
 r2:=Shape2.BoundsRect;
   case Key of
    '1': Shape1.Top := Shape1.Top - 3 ;
    '2': Shape1.Top := Shape1.Top + 3;
    '3': if not IntersectRect(r3,r1,r2) then Shape1.Left := Shape1.Left - 3;
    '4': if not IntersectRect(r3,r2,r1) then Shape1.Left := Shape1.Left + 3;
    end;
end;
 
end.
0
0 / 0 / 0
Регистрация: 23.01.2019
Сообщений: 8
23.01.2019, 18:05  [ТС] 16
ладно, я тогда завтра у знакомого спрошу, сегодня он был занят.
WARNING - ONLY FOR GUEST - кому надо ответ выложу завтра.
0
23.01.2019, 18:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2019, 18:05
Помогаю со студенческими работами здесь

Книга по C++, которую нельзя найти в интернете
мой друг поехал в москву , хочу его попрасить купить мне там книгу по с++ только такую,которую...

Бросок мячика через стенку
Написать программу: бросок мячика через стенку. На экран выходит результат броска (не долетел до...

Форма, которую нельзя развернуть на весь экран
Как сделать форму, которую нельзя развернуть на весь экран?! Добавлено через 4 минуты P.S. да...

Реализовать строку в ComboBox, которую нельзя выбрать
Можно ли в комбобоксе сделать строку, которую нельзя выбрать? Мне она нужна в виде разделителя....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru