Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.036 c
1-41450
незнайка
2003-10-29 10:39
2003.11.13
Tthread


1-41599
Delphi5.01
2003-10-26 20:09
2003.11.13
Programno najat na knopku


1-41385
kavlad
2003-10-30 12:28
2003.11.13
Все (почти) пропало


3-41022
Nikolai_S
2003-10-15 18:41
2003.11.13
Как обновить только одну конкретную запись в TADOTable?


1-41570
AndreyA
2003-10-27 11:05
2003.11.13
Qreport





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский