blnton | Дата: Суббота, 30 Мая 2009, 14:12 | Сообщение # 1 |
Начинающий
Группа: Участники
Сообщений: 19
Награды: 0
Замечания: 0%
Статус:
| Сделал набор ф-ий для кнопок Тут 2 глюка 1)Мемори...виоляшн или как-то там при наведении на нижнюю левую кнопку 2)Функция mask_for_button(mas$,num) должна присваивать num последним кнопкам собственную картинку, закрывающую её при наведении, но при num <> 1 не работает Почему??? Вот код Что бы работало надо поставить картинки Code Type buttons Field imgb, xb, yb, idb, tx, ty, textb$, maskb End Type
Global mask_button
Function create_button(img$,xb,yb,idb) n.buttons = New buttons n\imgb = LoadImage("images/"+img$) n\xb = xb n\yb = yb n\idb=idb End Function
Function Draw_button(idb) For n.buttons = Each buttons If n\idb=idb If n\imgb<>0 Then DrawImage n\imgb,n\xb,n\yb ;SetFont fntArialB : Color 0,0,255 Text n\xb+n\tx,n\yb+n\ty,n\textb$ End If Next End Function
Function mask_button(mas$) mask_button=0 mask_button=LoadImage("images/"+mas$) End Function
Function mask_for_button(mas$,num) n.buttons=Last buttons For i=1 To i=num n\maskb=LoadImage("images/"+mas$) n=Before n Next End Function
Function text_button(tx,ty,textb$) n.buttons=Last buttons n\tx = tx n\ty = ty n\textb$=textb$ End Function
Function on_click_button(mx,my,idb) i=0 For n.buttons = Each buttons If n\idb=idb i=i+1 If n\imgb<>0 If ImageRectCollide(n\imgb,n\xb,n\yb,0,mx-1,my-1,2,2)=1 If n\maskb=0 DrawImage mask_button,n\xb,n\yb Else DrawImage n\maskb,n\xb,n\yb EndIf If MouseHit(1) Return i EndIf Exit EndIf EndIf EndIf Next End Function
Function free_button(idb) For n.buttons = Each buttons If n\idb=idb Then Delete n Next End Function
Graphics 1024,768,32,0
mask_button("menu/mm.png")
create_button("menu/asd.bmp",724,748,19) : create_button("menu/asd.bmp",824,748,19) create_button("menu/asd.bmp",924,748,19) : create_button("menu/asd.bmp", 0, 0,19) create_button("menu/asd.bmp",100, 0,19) : create_button("menu/asd.bmp",200, 0,19) create_button("menu/asd.bmp",300, 0,19) : create_button("menu/asd.bmp",400, 0,19)
Repeat Cls : mx=MouseX() : my=MouseY() draw_button(19) Select on_click_button(mx,my,19) Case 1 Case 2
Case 6
Case 7 End End Select
Flip Until KeyDown(1) End
|
|
| |
blnton | Дата: Воскресенье, 31 Мая 2009, 06:42 | Сообщение # 2 |
Начинающий
Группа: Участники
Сообщений: 19
Награды: 0
Замечания: 0%
Статус:
| Медия
Сообщение отредактировал blnton - Понедельник, 01 Июня 2009, 08:50 |
|
| |
maxturbo | Дата: Среда, 03 Июня 2009, 09:28 | Сообщение # 3 |
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:
Профессия: Программер
Проектов: 1 в разработке
| Что тебе именно надо сделать? По первому посту я нни чего не понял что тебе надо!!!
|
|
| |
blnton | Дата: Среда, 03 Июня 2009, 10:44 | Сообщение # 4 |
Начинающий
Группа: Участники
Сообщений: 19
Награды: 0
Замечания: 0%
Статус:
| В данном коде при наведении на одну из кнопок возникает ошибка мемори...виоляшн(или как-то так) на строку if imagerectcollide... . Вопросы: 1)почему? 2)как исправить? Сам искал, почему так, ничего не получилось. (долго искал)
|
|
| |
LDMT | Дата: Среда, 03 Июня 2009, 11:01 | Сообщение # 5 |
Врубающийся
Группа: Участники
Сообщений: 27
Награды: 0
Замечания: 0%
Статус:
| У меня все пашет без глюков!
Редактор миров Modex - http://myblitz3d.narod.ru
|
|
| |
lx | Дата: Среда, 03 Июня 2009, 11:15 | Сообщение # 6 |
Группа: Гости
| blnton, У меня тоже MAV-а нет при наведении, это у тебя только наверное.
|
|
| |
maxturbo | Дата: Среда, 03 Июня 2009, 11:27 | Сообщение # 7 |
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:
Профессия: Программер
Проектов: 1 в разработке
| У меня тоже все отлично работает
|
|
| |
blnton | Дата: Среда, 03 Июня 2009, 12:35 | Сообщение # 8 |
Начинающий
Группа: Участники
Сообщений: 19
Награды: 0
Замечания: 0%
Статус:
| Этого я и боялся. Проверил. Нет. Всё работает. Но там была ошибка, БЫЛА. Сейчас нет. Ничего не менял. Как такое может быть. :-(
|
|
| |
lx | Дата: Среда, 03 Июня 2009, 12:53 | Сообщение # 9 |
Группа: Гости
| blnton, Да с путями к медии может напутал, или ещё чего, ну нет ошибки сейчас и хорошо.
|
|
| |
blnton | Дата: Среда, 03 Июня 2009, 13:14 | Сообщение # 10 |
Начинающий
Группа: Участники
Сообщений: 19
Награды: 0
Замечания: 0%
Статус:
| Согласен, хорошо. Но кнопки были одинаковые...
|
|
| |