Управление позицией курсора мышки

Управление позицией курсора мышки

Сообщение gnoblin 21 май 2009, 13:48

Не нашел нигде как можно ЗАДАТЬ позицию курсора на экране :-w .
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Управление позицией курсора мышки

Сообщение Neodrop 21 май 2009, 15:42

Никак.
Есть только Screen.lockCursor - ставит курсор в центр экрана . Без плугина это сделать невозможно.
А plugin написать - две строчки на С++. Я делал когда то.. Но это только для ЕХЕ плеера.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Управление позицией курсора мышки

Сообщение Neodrop 21 май 2009, 16:30

Вот решение.. Учи матчасть ;0)
(Работает только в ПРО и только в Windows и вряд ли будет в броузере... :-? )

(c#) NeoMouse.cs
Синтаксис:
Используется cpp
using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;

public class NeoMouse : MonoBehaviour
{
    [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    public static extern int SetCursorPos(int x, int y);

    public Vector2 mousePos;

        void Update ()
    {
        SetCursorPos((int)mousePos.x, (int)mousePos.y);
        }
}
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Управление позицией курсора мышки

Сообщение gnoblin 21 май 2009, 19:51

Спасибос!
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Управление позицией курсора мышки

Сообщение wild_r 21 май 2009, 20:57

Ога, походу в ПРО еще дофига функций...
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Управление позицией курсора мышки

Сообщение Neodrop 21 май 2009, 20:59

Это не функции ПРО. Это доступ к ядру Windows. Через ПРО.
С помощью подключаемых библиотек можно реализовать абсолютно что угодно. Всё, что только можно спрограммировать на любом языке, поддерживающем динамические библиотеки.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Управление позицией курсора мышки

Сообщение wild_r 21 май 2009, 22:51

Ой, не заметил подключение...
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Управление позицией курсора мышки

Сообщение fox 22 май 2009, 09:23

На крайний случай, можно захидить мышку, и отрисовывать свою у себя в окошке :о)
Добавить foxumkov в Skype
Мои проекты:
Turbodrive
Изображение

Изображение
Аватара пользователя
fox
UNITрон
 
Сообщения: 255
Зарегистрирован: 07 ноя 2008, 13:02
Откуда: Питер
  • ICQ

Re: Управление позицией курсора мышки

Сообщение gnoblin 22 май 2009, 10:22

Да, про прятать я тоже думал. В принципе подходит.
Просто неприятно)).
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Управление позицией курсора мышки

Сообщение DbIMok 14 окт 2010, 19:54

пример с передачей структуры в api функцию
Синтаксис:
Используется csharp
using UnityEngine;
using System;
using System.Runtime.InteropServices;

// Create a point struct.
public struct Point
{
    public int x;
    public int y;
}

class Cursor_Move : MonoBehaviour {

        [DllImport("user32.dll")]
        static extern bool GetCursorPos(IntPtr buffer);

        Point p;
        IntPtr pnt;
       
        void OnGUI () {
                try {
                        // Initialize unmanged memory to hold the struct.
                        pnt = Marshal.AllocHGlobal(Marshal.SizeOf(p));                 
            // Copy the struct to unmanaged memory.
            Marshal.StructureToPtr(p, pnt, false);
                        // Call api function
                        GetCursorPos(pnt);
            // Set this Point to the value of the
            // Point in unmanaged memory.
            p = (Point)Marshal.PtrToStructure(pnt, typeof(Point));
        } finally {
            // Free the unmanaged memory.
            Marshal.FreeHGlobal(pnt);
        }              
        GUI.Label (new Rect (10, 10, 100, 20), "x: "+(p.x).ToString()+" y: "+(p.y).ToString());
        }
}

P.S. код в основном для примера. правильно написать свою функцию в C++ dll, провернуть все у нее внутри (раз уж все равно полезли в unmanaged код) и выдать в результате функции.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05


Вернуться в Tips & Tricks

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1