|
|
Меню
| |
| Anwind | Дата: Среда, 2008-08-20, 11:40 PM | Сообщение # 1 |
|
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Offline
| Народ, буду очень признателен, если кто-нибудь скинит код меню. Мне нужен посмотреть хоть одним глазком, а то у меня как-то не очень получаеться. Спасибо всем кто поможет
|
| |
| |
| Blitz3D | Дата: Вторник, 2008-08-26, 11:35 AM | Сообщение # 2 |
Admin
Группа: Администраторы
Сообщений: 11
Репутация: 0
Статус: Offline
| Надо порыться в архивах...
|
| |
| |
| Anwind | Дата: Вторник, 2008-08-26, 5:09 PM | Сообщение # 3 |
|
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Offline
| Не нашел( Мне особо много не надо. Просто не пойму как сделать, клик на изображение. If MouseHit(1) на нужный мне рисунок Then................. Просто если делать так, то очень долго и нудно. [code] Graphics 640,480 font=LoadFont("Blitz",14,True) SetFont font Repeat If MouseX()>200 And MouseX()<350 And MouseY()>300 And MouseY()<320 Color 255,0,0 Text 200,300,"640 x 480 x 32" If MouseHit(1) Then mode=1 Else Color 255,255,255 Text 200,300,"640 x 480 x 32" EndIf If MouseX()>200 And MouseX()<350 And MouseY()>320 And MouseY()<340 Color 255,0,0 Text 200,320,"800 x 600 x 32" If MouseHit(1) Then mode=2 Else Color 255,255,255 Text 200,320,"800 x 600 x 32" EndIf If MouseX()>200 And MouseX()<350 And MouseY()>340 And MouseY()<360 Color 255,0,0 Text 200,340,"1024 x 768 x 32" If MouseHit(1) Then mode=3 Else Color 255,255,255 Text 200,340,"1024 x 768 x 32" EndIf Flip Until mode>0 EndGraphics If mode=1 Graphics3D 640,480,32,1 SetBuffer BackBuffer() ElseIf mode=2 Graphics3D 800,600,32,1 SetBuffer BackBuffer() ElseIf mode=3 Graphics3D 1024,768,32,1 SetBuffer BackBuffer() EndIf cam=CreateCamera() lit=CreateLight() TurnEntity lit, 45,45,0 cub=CreateCube() PositionEntity cub,0,0,5 Repeat TurnEntity cub,.1,.2,.3 UpdateWorld RenderWorld Flip Until KeyHit(1) End
|
| |
| |
| Blitz3D | Дата: Среда, 2008-08-27, 10:20 AM | Сообщение # 4 |
Admin
Группа: Администраторы
Сообщений: 11
Репутация: 0
Статус: Offline
| Вот как вариант: http://blitz3d.at.ua/data/GameMenu.rar
|
| |
| |
| Blitz3D | Дата: Среда, 2008-08-27, 10:27 AM | Сообщение # 5 |
Admin
Группа: Администраторы
Сообщений: 11
Репутация: 0
Статус: Offline
| Можешь также обрабатывать коллизию рисунков с курсором ImagesCollide (image1,x1,y1,frame1,image2,x2,y2,frame2)
|
| |
| |
| Anwind | Дата: Воскресенье, 2008-08-31, 1:53 AM | Сообщение # 6 |
|
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Offline
| Эээ по вот этому: ImagesCollide (image1,x1,y1,frame1,image2,x2,y2,frame2) Можно по подробнее, что в скобках? Точнее что обозначает image и frame.
|
| |
| |
| gazel | Дата: Четверг, 2008-09-04, 9:40 AM | Сообщение # 7 |
Сержант
Группа: Администраторы
Сообщений: 35
Репутация: 1
Статус: Offline
| ImagesCollide (image1,x1,y1,frame1,image2,x2,y2,frame2) Параметры: image1 = первое проверяемое изображение x1 = координата x первого изображения y1 = координата y первого изображения frame1 - номер кадра первого изображения (не обязательно) image2 = второе проверяемое изображение x2 = координата x второго изображения y2 = координата y второго изображения frame2 - номер кадра второго изображения (не обязательно) Вот пример ImagesCollide, который по аналогии можно использовать в меню. Одну картинку двигать с курсором мыши, а другую использовать как пункт меню. И собсно обрабатывать их коллизию: Code ; Установим графический режим Graphics 640,480,16
; Создадим два рисунка - один с кругом, другой с квадратом gfxBox=CreateImage(50,50) gfxCircle=CreateImage(50,50)
; Рисуем квадрат в первом рисунке ; Для этого выберем буфер этого рисунка SetBuffer ImageBuffer(gfxBox) ; Цвет - синий Color 0,0,255 ;Рисуем квадрат (оставляем пустой пространство шириной 10 пикселов вокруг квадрата) Rect 10,10,30,30,1
; Будем рисовать круг во втором рисунке SetBuffer ImageBuffer(gfxCircle) Color 255,0,0 ; Тоже оставим пустое пространство вокруг круга Oval 10,10,30,30,1
; Не забудем переключиться на BackBuffer! SetBuffer BackBuffer()
; Координаты рисунка с квадратом случайные boxX=Rnd(50,610) boxY=Rnd(50,430)
; Повторяем цикл до столкновения Repeat ; Прицепим рисунок с кругом к указателю мыши circleX=MouseX() circleY=MouseY() ; Стандартные команда двойной буферизации: сначала очищаем экран Cls ; Рисуем наши рисунки в их текущих координатах DrawImage gfxBox,boxX,boxY DrawImage gfxCircle,circleX,circleY ; изображение - на экран Flip ; Проверяем столкновение наших рисунков Until ImagesCollide (gfxBox,boxX,boxY,0,gfxCircle,circleX,circleY,0)
; Если столкнулись, выводим сообщение! Text 0,0, "WE'VE HAD A COLLISION! PRESS A MOUSE BUTTON" ; Чтобы увидеть сообщение .. Flip ; Ждем нажатия кнопки мыши WaitMouse() ; Конец программы EndGraphics
|
| |
| |
|
| Copyright MyCorp © 2026 |
 |
| |