|
3D-программирование Вопросы, касающиеся программирования 3D мира |
25.08.2007, 13:17
|
#121
|
ПроЭктировщик
Регистрация: 25.07.2007
Сообщений: 151
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Анимация (и еще пару вопросов)
Как можно узнать координаты курсора относительно центра координат?
|
(Offline)
|
|
25.08.2007, 14:10
|
#122
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: Анимация (и еще пару вопросов)
Узнаем разрешение экрана, делим его попалам. Это будет наш центр. Эсли координаты мыши больше , чем пол-экрана, то отнимаем из них пол-экрана. Если координаты меньше чем пол-экрана, то тоже отнимаем.
graphwidthmid = graphicswidth()*0.5
graphheightmid = graphicsheight()*0.5
mx# = mousex()
my# = mousey()
dmx# = mx# - graphwidthmid
dmy# = my# - graphheightmid
Только зачем тебе это? ведь есть MouseXspeed() и mouseYspeed().
|
(Offline)
|
|
25.08.2007, 14:18
|
#123
|
ПроЭктировщик
Регистрация: 25.07.2007
Сообщений: 151
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Анимация (и еще пару вопросов)
эмм.. спасибо. уже сам сделал .))
ЗЫЖ ыы. только увидел твое сообщение.. проблема лежала немного дальше ,) но всеравно спасибо.
|
(Offline)
|
|
29.08.2007, 15:09
|
#124
|
ПроЭктировщик
Регистрация: 25.07.2007
Сообщений: 151
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Анимация (и еще пару вопросов)
Начал делать редактор... и появились проблемки. В некоторым момент (при выборе case'ов) перестают рисоваться image's без повторной инициолизации графики. Как буд-то ее ан-инициализировали... или как даже назвать незнаю. Может кто сталкивался с такой проблемой?
И еще. при повторной инициализации графики удаляются все загруженые объекты?
|
(Offline)
|
|
29.08.2007, 15:37
|
#125
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Анимация (и еще пару вопросов)
Не удаляються. В блицмаксе да а тут нету авто отчистки.
Код нужно видеть Гдето просто ошибочку допустил.
|
(Offline)
|
|
29.08.2007, 16:05
|
#126
|
ПроЭктировщик
Регистрация: 25.07.2007
Сообщений: 151
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Анимация (и еще пару вопросов)
Moka, вот на счет очистки после повторной инициализации:
Game = 1
Global mouse
Repeat
Select game
Case 1
Graphics3D 800,600,32,Mode
SetBuffer BackBuffer()
LoadMouse()
Repeat
Cls()
DrawImage mouse,MouseX(),MouseY()
If KeyHit(1) game = 2
Flip
Until game = 2
Case 2
Graphics3D 800,600,32,Mode
SetBuffer BackBuffer()
Repeat
Cls()
DrawImage mouse,MouseX(),MouseY()
If KeyHit(1) End
Flip
Until End
End Select
Forever
Function LoadMouse()
Mouse=LoadImage("mouse.png")
End Function
Если после второго кейса убрать инициализацию, то все работает. А так говорит, что маус не найден...
|
(Offline)
|
|
29.08.2007, 16:25
|
#127
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Анимация (и еще пару вопросов)
Maestro, дык у тебя Graphics3D 800,600,32,Mode и там и там. Поставь его вообще до выбора и использй только Один раз.
|
(Offline)
|
|
29.08.2007, 17:38
|
#128
|
ПроЭктировщик
Регистрация: 25.07.2007
Сообщений: 151
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Анимация (и еще пару вопросов)
Так это пример, к вопросу " И еще. при повторной инициализации графики удаляются все загруженые объекты?"
|
(Offline)
|
|
29.08.2007, 18:01
|
#129
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Анимация (и еще пару вопросов)
Maestro, хм видимо да, или даже скорее не труться но линки теряються. А вообще странно. А ты не пробовал сделать так?:
If KeyHit(1)
game = 2
EndGraphics
EndIf
|
(Offline)
|
|
29.08.2007, 18:26
|
#130
|
ПроЭктировщик
Регистрация: 25.07.2007
Сообщений: 151
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Анимация (и еще пару вопросов)
MoKa, EndGraphics ничего не дает. Ну да ладно. Теперь буду знать где искать в таких случаях. Я и проблему решил свою... даже нашел как обойти, но для этого надо одну функцию модифицировать. Посмотрите плиз:
mx=MouseX(): my=MouseY()
MHit=MouseDown(1)
If RectsOverlap(x,y,ImageWidth(ImBtn),ImageHeight(ImBtn),mx,my,1,1) Then
If Sel <> n Then
PlaySound SelectBut
Sel = n
EndIf
f=1
y2=0
If MHit=True Then
If Sel2 <> n Then
PlaySound ClickBut
sou=1
sel2 = n
EndIf
f=2
y2=2
Button(n)=1
EndIf
Else
f=0
y2=0
EndIf
DrawImage ImBtn,x,y,f
Color 0,0,0
Text x+0.5*(ImageWidth(ImBtn)+4-Len(txt$)*FontHeight()*0.5),y+0.5*(ImageHeight(ImBtn)-4-FontHeight())+y2,txt$
End Function
Но тут при нажатии на кнопку она (кнопка) всевремя нажимается. Поэтому если при нажати кнопки должно произойти какое-то действие, оно происходит постоянно. Придвещаю первый ответ "Вместо MouseDown поставь MouseHit, и будет тебе счастье.", но если это сделать, то можно нажать только на первую! кнопку. Почему, я не совсем пойму, но это так.(
|
(Offline)
|
|
29.08.2007, 18:36
|
#131
|
ПроЭктировщик
Регистрация: 25.07.2007
Сообщений: 151
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Анимация (и еще пару вопросов)
Ага. чето поторопился я. Ничего я не исправил .( Если инициализировать графику, а потом Селект кейс... то при переходе ез кейса в кейс не выводится все, что должно выводиться ДравИмеджом. Текст, 3Д.. - это все есть, а имагов нету. А если в кейсе инициализировать графику, то все рисуется как надо.
|
(Offline)
|
|
29.08.2007, 18:42
|
#132
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Анимация (и еще пару вопросов)
Game = 1
Global mouse
Graphics3D 800,600,32,Mode
SetBuffer BackBuffer()
LoadMouse()
Repeat
Select game
Case 1
Repeat
Cls
If KeyHit(57) game = 2
DrawImage mouse,MouseX(),MouseY()
Flip
Until game = 2
Case 2
Repeat
Cls
If KeyHit(1) End
DrawImage mouse,MouseX(),MouseY()
Flip
Forever
End Select
Function LoadMouse()
Mouse=LoadImage("mouse.png")
End Function
|
(Offline)
|
|
29.08.2007, 19:14
|
#133
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Анимация (и еще пару вопросов)
Maestro, ты Flip Забыл
|
(Offline)
|
|
29.08.2007, 20:30
|
#134
|
ПроЭктировщик
Регистрация: 25.07.2007
Сообщений: 151
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Анимация (и еще пару вопросов)
|
(Offline)
|
|
30.08.2007, 15:04
|
#135
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Анимация (и еще пару вопросов)
Flip - команда меняет передний и задний буферы !!
это для того что б на екране картинка была видна !!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:41.
|