Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Интерфейс игровых меню   Найти похожие ветки 

 
alexus   (2003-05-05 13:05) [0]

Привет всем.
Не подскажете идею как на основе стандартных компонентов собрать интерфейс менюшек, с анимацией и визуальными эффектами (кнопочки красивые там, открытие/закрытие окон и пр.).
Ставить аvi и jpeg"и и обрабатывать щелчки на них муторно, так как много памяти жрут. Может есть некий способ?


 
Darthman   (2003-05-05 15:02) [1]

Есть один...
Не использовать стандартные средства.


 
Плохой человек   (2003-05-05 20:25) [2]

Можно пустить на задним фон бегущий слой. И использовать TLayers.


 
k-man ©   (2003-05-05 22:04) [3]

Ну не знаю, наверняка есть какие-нибудь компоненты.
Ну а если по делать простенькую менюшку, то могут помочь компоненты с событиями OnMouseLeave и OnMouseEnter.
Вешаешь на них какие-нибудь изменения и вполне пристойная менюшка может получиться. Но это довольно примитивное решение.
Если делать серьезно то самому.
Поэтому согласен с Darthman"ом лучше не использовать стандартные средства.


 
alexus   (2003-05-06 12:20) [4]

Понял, спасибо за инфу.
Привет всем!


 
KefiR   (2003-05-06 22:45) [5]

Когда-то писал процедурку, чтоб двигать контрол по форме:

procedure TForm1.MoveControl(var control: TControl; DestPoint: TPoint; DelayTime: integer); //<<<---DelayTime - in seconds
procedure
var LastPoint:TPoint;
DelayBetween:integer;
dx,dy:single;
Rasst:single;
count:integer;
begin
LastPoint.x:=Control.Left; LastPoint.y:=control.Top; Rasst:=sqrt(sqr(LastPoint.x-DestPoint.x)+sqr(LastPoint.y-DestPoint.y));
DelayBetween:=Round(delaytime/rasst);
dx:=(DestPoint.x-LastPoint.x)/rasst;
dy:=(DestPoint.y-LastPoint.y)/rasst;
count:=1;
repeat
count:=count+1;
Control.Left:=LastPoint.x+round(count*dx);
control.Top:=LastPoint.y+round(count*dy);
Delay(delayBetween);
until (Control.top=destpoint.y) and (control.left=destpoint.x);
end;

Оптимизацией не занимался, т.к. саму процедуру писал около 10 минут. Недостаток - двигает только один контрол. Вызов:

MoveControl(TControl(Button1),Point(10,10),2);

особо на глючность не тестировал


 
KefiR   (2003-05-06 22:47) [6]

Чуть не забыл
procedure Delay(Time:integer);
var TimeOut:TDateTime;
begin ( 0,Time div 3600, time div 60, time)
Чуть не забыл
procedure Delay(Time:integer);
var TimeOut:TDateTime;
begin
TimeOut:=Now + EncodeTime(0,Time div 3600, time div 60, time);
while now<timeout do Application.ProcessMessages;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
14-42046
Zhouck
2003-10-15 13:49
2003.11.13
Помогите вычислить злобного хакера-киддиса


14-41974
Ёжик
2003-10-17 22:26
2003.11.13
Кто сколько может выпить пива?


3-41085
ss300
2003-10-23 13:27
2003.11.13
проблема с Clipper-вской табл.


14-41903
New
2003-10-20 19:49
2003.11.13
Почта


3-41036
Fantom_
2003-10-08 13:13
2003.11.13
Сортировка по Lookup-полю