Главная страница
    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.034 c
3-41088
paul_k
2003-10-23 13:39
2003.11.13
Параметры в TAdoDataSet


3-41014
rosl
2003-10-16 07:04
2003.11.13
обарботать такую ситуацию


4-42250
PITON
2003-09-12 11:18
2003.11.13
работа с формой


4-42326
AlexRush
2003-09-03 12:12
2003.11.13
GDI. Compatible DC и Transformation functions


1-41728
Bart
2003-11-03 13:49
2003.11.13
Kylix3 проблема с .so





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский