Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
17 / 17 / 23
Регистрация: 22.10.2016
Сообщений: 183

Как сделать чтобы когда форма открыта можно было управлять персонажем?

13.12.2016, 16:16. Показов 1618. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подключил к Юнити WindowsFormAplication,все работает,но проблема в том что когда открыта форма не могу управлять персонажем в Юнити.Как решить эту проблему?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.12.2016, 16:16
Ответы с готовыми решениями:

Нужно сделать чтобы можно было управлять типом возвращаемого значения функции
// avg_function.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> using...

Как сделать так, чтобы div со слайдерамив header выводился только тогда когда открыта главная страница
Все дело происходит в wordpress вот код главной страницы page.php <?php get_header(); ?> <?php if (have_posts()): while...

Как сделать чтобы edit не было видно когда запускаешь программу
Как сделать чтобы edit не было видно когда запускаешь программу?

7
 Аватар для wmysterio
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
13.12.2016, 16:46
Цитата Сообщение от and09reyy Посмотреть сообщение
Как решить эту проблему
Отказаться от этой идеи. Зачем Вам формы в Unity? Там есть инструменты, которые отлично справляются с поставленной задачей - большинство элементов управления уже есть.
1
17 / 17 / 23
Регистрация: 22.10.2016
Сообщений: 183
13.12.2016, 17:20  [ТС]
дело в том что принципиально использовать в этом проекте именно форму
0
 Аватар для Ghost Writter
53 / 53 / 19
Регистрация: 09.12.2015
Сообщений: 215
13.12.2016, 17:28
and09reyy, никак
0
 Аватар для wmysterio
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
13.12.2016, 17:49
Цитата Сообщение от and09reyy Посмотреть сообщение
дело в том что принципиально использовать в этом проекте именно форму
Вы когда нибудь могли одновременно работать в двух независимых окнах? Вы можете работать только с тем окном, которое сейчас находится в фокусе. Поскольку игра в Unity тоже запускается в окне, то Вы можете либо работать с игрой, либо с окном формы. Никакая принципиальность здесь не поможет.

Есть теоретические шансы, что как-то через Windows-API вы сможете как-то решить этот вопрос, но быстрее и проще будет использовать стандартные инструменты Unity.
1
17 / 17 / 23
Регистрация: 22.10.2016
Сообщений: 183
13.12.2016, 18:11  [ТС]
хорошо,тоесть если убрать фокус с формы но не закрывать ее можно будет работать в обоих окнах?Как поступить?Можно ли сделать чтобы по клику в область во вне формы убрать фокус нее?
0
 Аватар для wmysterio
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
13.12.2016, 18:53
Лучший ответ Сообщение было отмечено and09reyy как решение

Решение

Цитата Сообщение от and09reyy Посмотреть сообщение
тоесть если убрать фокус с формы но не закрывать ее можно будет работать в обоих окнах?
Если уберёте фокус с формы, тогда она будет отрисовываться под окном игры(фокус будет на окне игры), то есть форму нельзя будет увидеть а играть - можно. Вы можете попробовать отрисовать форму поверх всех окон(свойство TopMost), тогда возможно можно будет играть и видеть форму одновременно. Но когда вы возьмёте в фокус форму, то не сможете играть, но можете работать с формой.
Это теоретически, поскольку:
1) если игра в режиме "во весь экран" может прятать все окна под себя.
2) у меня никогда и в мыслях не было чтобы открывать форму в игре Unity. Да, я мог использовать некоторые классы с WindowsForms, но не саму форму.
Цитата Сообщение от and09reyy Посмотреть сообщение
Как поступить?
Опять же - использовать стандартные инструменты Unity для рисования окно. Вы всегда можете настроить внешний вид окна как Вам угодно. Придётся немного попотеть, но вы на 100% будете знать, что подобных моментов не возникнет. Не стоит пренебрегать этим решением.
Цитата Сообщение от and09reyy Посмотреть сообщение
Можно ли сделать чтобы по клику в область во вне формы убрать фокус нее?
ОС всегда должна иметь фокус на чем-нибудь, будь-то окно или рабочий стол или игра.
Цитата Сообщение от and09reyy Посмотреть сообщение
Можно ли сделать чтобы по клику в область во вне формы убрать фокус нее?
Для того, что убрать фокус с одной формы, нужно сделать фокус чего-то другого. Нужно что-то вроде этого:
C#
1
2
3
4
5
6
7
8
9
10
11
12
[System.Runtime.InteropServices.DllImport( "user32.dll", SetLastError = true )]
public static extern IntPtr SetActiveWindow( IntPtr hWnd );
 
[System.Runtime.InteropServices.DllImport( "user32.dll", SetLastError = true )]
static extern IntPtr SetFocus( IntPtr hWnd );
 
 
private void Form1_KeyDown( object sender, KeyEventArgs e ) {
    var hWindow = System.Diagnostics.Process.GetProcessesByName( "firefox" )[ 0 ];
    SetActiveWindow( hWindow.MainWindowHandle );
    SetFocus( hWindow.MainWindowHandle );
}
Здесь я привёл код, который использует Win32 API, но это только для примерный код(что-то где-то), он не работает. Вы должны найти указатель на окно/форму(или игры) и сделать фокус этого окна.
1
17 / 17 / 23
Регистрация: 22.10.2016
Сообщений: 183
13.12.2016, 20:10  [ТС]
Спасибо большое буду пробовать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.12.2016, 20:10
Помогаю со студенческими работами здесь

Как сделать, чтобы когда программа запускается дерево сразу было раскрытым?
Скажите пожалуйста, как сделать, чтобы когда программа запускается дерево сразу было раскрытым. А еще у меня в контекстном меню дерева есть...

Можно ли сделать так чтобы к классу можно было бы одновременно обращаться как к массиву
подскажите можно ли сделать так чтобы к классу можно было бы одновременно обращаться как к массиву? т.е. не массив классов я имею ввиду, а...

Как можно сделать так, чтобы в PictureBox, можно было работать по экранным координатам(т.е. по пикселям)?
Как можно сделать так, чтобы в PictureBox, можно было работать по экранным координатам(т.е. по пикселям)?? Там ведь все в твипах...

Как сделать, чтобы вторая форма не сворачивалась, когда сворачивается основная
Привет! Есть у меня 2 формы, первая вызывает вторую через Form2->Show();. Проблема в том, что при сворачивании первой, сворачивается и...

Как сделать, чтобы можно было передвигать камеру?
Не знал как назвать тему но суть такая Есть допустим поле для игры и на нем объекты, "камера" захватывает небольшой участок...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru