|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.08.2008, 12:57 | #11 |
Никто
Пользователь
Регистрация: 25.08.2008
Сообщений: 28
|
непонятно одно:
почему функция MoveBall всё время работает, в таймере вроде как не указывается это. |
31.08.2008, 13:31 | #12 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Смотри внимательнее
Цитата:
Если что еще не ясно не стесняемся, спрашиваем. Я специально код не стал упрощать до уровня Hello World. Если есть еще вопросы по матчасти, задавайте.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 31.08.2008 в 13:34. |
|
31.08.2008, 13:44 | #13 |
Никто
Пользователь
Регистрация: 25.08.2008
Сообщений: 28
|
Просто тут выполняется if но как бы кажется что процедура не вызывается, а просто проверка идёт, это я заметил.
tmpX:=Shape3.Left+BallXSpeed; tmpY:=Shape3.Top+BallYSpeed; Что обозначает этот код. на русскаом я знаю как, я не пойму зачем идёт сложение. |
31.08.2008, 14:47 | #14 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Мяч имеет горизонтальную скорость и вертикальную. Скорость может быть или положительной или отрицательной, при этом абсолютная ее величина не меняется. Меняется только знак, делается это так скорость := 0 - скорость. Поэтому скорость только прибавляем.
tmpX и tmpY нужны для того, чтобы мяч никуда не двигался во время выполнения функции, пока окончательно не определятся координаты. Здесь это нужно, т.к. графики по сути нет, Shape тут же сместится при изменении его координат. Если делать графику отдельно, то такие переменные обычно не нужны, т.к. вывод на экран произойдет только после окончания функции в уже определившихся координатах. Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 31.08.2008 в 14:51. |
|
01.09.2008, 08:55 | #15 | |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Цитата:
Теперь о главном. Я не предлагаю строить сложную игру.Наоборот, все гораздо проще должно получиться ( в смысле кода по сравнению с приведенным в simple tennis). А по виду смотрите скрин. Код специально не привожу. Мы договорились, что каждый по своему пишет программу, а потом совместно изменяем по необходимости. Так что все таки давайте поэтапно - делаем сначала корт, ракетки и мяч.
И не сомневайся даже ... отдых - кайф, работа - лажа!
Последний раз редактировалось Beermonza; 28.10.2011 в 15:31. |
|
01.09.2008, 16:11 | #16 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
А как начинать то делать? Мы должны посмотреть рисунок и оценить его, или ещё что-то? Если начинать - давайте начнём...
|
01.09.2008, 17:11 | #17 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Я тоже не совсем понял, кому и что нужно делать. Каждый как умеет что-ли? Ну так те, кто хотят научиться, пока никак не умеют.
Фраза непонятная - давайте делать ракетки и т.д. Цитата:
Кстати насчет понятности, вот Денис смотрел мой код, не по частям, а весь сразу. Все понятно? Или лучше если было бы все отдельно разжевано? Если все понятно, можно продолжить дальше, добавить графику или полет мяча изменить - сделать отскок на произвольный угол, заставить компьютер мяч отбивать. Говорите, что в первую очередь сделать. (Сначала только с Dekot'ом определится надо, кто и что делает)
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
01.09.2008, 19:24 | #18 | |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Цитата:
Я, к примеру вот так построил поле игры (см. вложение).А вы предлагайте свои варианты.
И не сомневайся даже ... отдых - кайф, работа - лажа!
Последний раз редактировалось Beermonza; 28.10.2011 в 15:33. |
|
01.09.2008, 20:46 | #19 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
02.09.2008, 09:26 | #20 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Все таки предполагается, что начальные базовые знания имеются. И все же разберемся подробно на примере tennis01. Строим игровое поле. Корт - это прямоугольник, внутри которого будет передвигаться мяч.По кромке корта ракетки также в виде прямоугольников. Названные элементы можно нарисовать различными способами. Скажем, воспользоваться компонентом Shape (раздел Additional). Вывести его на форму, в свойствах задать размеры, цвет. Можно взять готовый рисунок (с травкой, цветочками) и загрузить как Image. Мы же воспользуемся методами объекта TCanvas.Canvas (холст) поверхность, на которой можно
рисовать. Для этого у холста есть методы, называемые графическими примитивами. С помощью этих методов можно рисовать различные фигуры, линии, выводить текст. Нам достаточно метода Rectangle(x1,y1,x2,y2) - рисует прямоугольник (коорд.лев.верхн.угла x1,y1 ; прав. нижн.- x2,y2). Ellipse(x1,y1,x2,y2) - рисует элипс или круг вписаный в прямоугольник с коорд. аналогично как в методе Rectangle. И еще используем метод TextOut(X,Y,'нужный ТЕКСТ') - выводит текст, начиная с координат X,Y. Определяем размеры корта - у нас 800 х 440 и будем рисовать его в процедуре FormOnPaint. Для этого нам необходимы четыре координаты прямоугольника. Т.к. корт свои размеры не меняет, вводим координаты в разделе const и присваиваем им сразу значения. Стараемся дать названия константам, (как и дальше переменным и методам) осмысленные названия, отображающие фактическое назначение. Здесь XlineL - левая линия по оси Х (левая не в смысле "левая", а в смысле слева); YlineU (Up) - верхняя боковая линия по оси Y и т.д. Можно было бы задать значения координат в Rectangle явно, конкретными цифрами. Почему так, поймем дальше.
И не сомневайся даже ... отдых - кайф, работа - лажа!
Последний раз редактировалось Beermonza; 28.10.2011 в 15:38. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Доделать браузерную игру | Beliar | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 31.07.2008 19:24 |
Доделать браузерную игру. | Beliar | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 31.07.2008 15:07 |
Зацените игру | snake-as | Софт | 3 | 08.01.2008 00:16 |
Ищу игру | PAVEL315 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 10 | 20.04.2007 12:13 |