Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 20.03.2012, 00:05
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
Радость хм

нашел,но тут он просто летает из одного в другой а мне надо чтобы бился об стенки =(
и как я понял этот пинг понг.ток с бешеной скоростью..

Последний раз редактировалось Mp3, 20.03.2012 в 00:08.
Ответить с цитированием
  #17  
Старый 20.03.2012, 00:08
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

В Дельфи 3, 5 и XE2 не нашёл. В 7-ке имеется.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #18  
Старый 20.03.2012, 00:17
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Почему-же, в ХЕ я где-то нарыл. Думал, и в других есть. Я, кстати, из этого примера начинал свое обучение с графикой в Дельфях!
Странно. Можно же просто Имаг взять и перемещать по форме? С коллизиями труда не будет, думаю?
Ответить с цитированием
  #19  
Старый 20.03.2012, 00:21
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
Печаль

не совсем понимаю, что ты хочешь сделать.....у меня совсем проблемы =(
Ответить с цитированием
  #20  
Старый 20.03.2012, 00:23
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
По умолчанию

Цитата:
Можно же просто Имаг взять и перемещать по форме?
эт как???
а можно взять не картинку а например Ellips или квадрат и др...а как это будет выглядеть?*код*
Ответить с цитированием
  #21  
Старый 20.03.2012, 00:25
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
По умолчанию

что то где-то взял,что-то где то поменял и получилось вот это
Цитата:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;

type
TForm1 = class(TForm)
Image1: TImage;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form6: TForm6;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
var a,b :integer;
begin
if (Image1.Top <= 0) or ((Image1.Top + Image1.Height) >= Form1.ClientHeight) then b:= -b;
if (Image1.Left <= 0) or ((Image1.Left + Image1.Width) >= Form1.ClientWidth) then a:= -a;
Image1.Left:= Image1.Left + a;
Image1.Top:= Image1.Top + b;

end;

end.
но все равно не работает,картинка просто пропадает,и появляется
Ответить с цитированием
  #22  
Старый 20.03.2012, 00:28
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Там настолько всё просто делается, что ТС должно быть стыдно. В таймере проверяем координаты шарика на достижения границ формы или где он там будет двигаться. При соприкосновении вспоминаем, что угол падения, равен углу отражения и, соответственно, двигаем по новой траектории.

О!, уже и сам, что то нашёл.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #23  
Старый 20.03.2012, 00:29
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Во, на быструю руку состряпал
А!!! Насчет пропадания - действительно, нужно рисовать на канве, с буффером. В ХЕ кажись есть параметр DoubleBuffered для формы, то там пропадать не должно, имхо?

Последний раз редактировалось YVitaliy, 19.04.2012 в 00:35.
Ответить с цитированием
  #24  
Старый 20.03.2012, 00:31
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
Печаль

мне стыдно,честно,так я не пойму код то правильный?который чуть выше
Ответить с цитированием
  #25  
Старый 20.03.2012, 00:33
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Правильный, а разве трудно проверить? Только переменные, должны быть глобальными.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #26  
Старый 20.03.2012, 00:34
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Типа того Но a и b лучше сохранять в глобальных переменных. А то их и менять не будет надобности.
Ответить с цитированием
  #27  
Старый 20.03.2012, 00:41
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
Смех

ааааааааа....ппц.....ушел биться об стену....у меня все равно не работает!!!!
картинка не летает! *не подскажете почему?*
походу программирование это не моё =D
Ответить с цитированием
  #28  
Старый 20.03.2012, 00:43
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
Радость

глобальными переменами можно считать а и в????
а почему x и y не глобальные???
Ответить с цитированием
  #29  
Старый 20.03.2012, 00:44
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Потому, что +0, что -0 - одно и то же! ПеременнЫе проинициализировать нужно! Присвоить им хотя бы 1! А то к позиции хоть триллион разов 0 добавляй - картинка не сдвинется!
Ответить с цитированием
  #30  
Старый 20.03.2012, 00:45
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Цитата:
Сообщение от Mp3
глобальными переменами можно считать а и в????
а почему x и y не глобальные???
Цитата:
var a,b :integer;
begin
if (Image1.Top <= 0) or ((Image1.Top + Image1.Height) >= Form1.ClientHeight) then b:= -b;
if (Image1.Left <= 0) or ((Image1.Left + Image1.Width) >= Form1.ClientWidth) then a:= -a;
Image1.Left:= Image1.Left + a;
Image1.Top:= Image1.Top + b;
Где X и Y?
Вообще-то там, в 23м посте, я пример скинул!http://www.delphisources.ru/forum/sh...0&postcount=23

Последний раз редактировалось YVitaliy, 20.03.2012 в 00:48.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:42.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter