Показать сообщение отдельно
Старый 14.01.2009, 02:29   #1
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,743
Написано 5,461 полезных сообщений
(для 15,676 пользователей)
Обзор мышью на Xors3D

Что-то решил пописать маленько под Ксорсом.
Типа, модно, да и я уже давно д... восхищаюсь шейдерами за афторством МоКи.
Но столкнулся с первыми багами движка уже в первые 5 минут разработки (это абсолютный рекорд)
Почему-то не пашут как надо xMouseXSpeed() и xMouseYSpeed(). Соответственно нормального мауслука хрен получишь.
Или может я использую их как-то не так Но справки нет, а в семплах не было ни одного примера с этими командами, так что пришлось справляться своими силами...
Вот, вдруг кому понадобится (новые MouseX(), MouseY(), MouseXSpeed(), MouseXSpeed(), MoveMouse(x,y) и рабочий мауслук xMouseLook(ent) для Ксорса):

Function xMouseLook(ent) ; Функция обзора мышью

	mxspd#=MouseXSpeed()*0.25
	myspd#=MouseYSpeed()*0.25

	MoveMouse xGraphicsWidth()/2,xGraphicsHeight()/2	
	
	campitch#=xEntityPitch(ent)+myspd#
	
	If campitch#<-85 Then campitch#=-85 
	If campitch#>85 Then campitch#=85

	xRotateEntity ent,campitch#,xEntityYaw(ent)-mxspd#,xEntityRoll(ent)
End Function

Global LastMouseX, LastMouseY

Function MouseXSpeed()
	MX = xMouseX()

	XSpeed = MX - LastMouseX
	LastMouseX = MX

	Return XSpeed	
End Function

Function MouseYSpeed()
	MY = xMouseY()

	YSpeed = MY - LastMouseY
	LastMouseY = MY

	Return YSpeed	
End Function

Function MoveMouse(x,y)
	LastMouseX = X + MouseXSpeed()
	LastMouseY = Y + MouseYSpeed()
	
	xMoveMouse x,y
End Function
Жесть одним словом... Уж если элементарные функции не работают, то страшно представить что будет дальше...
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
tormoz (14.01.2009)