Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
tofast
7 / 7 / 0
Регистрация: 22.07.2012
Сообщений: 85
#1

Возможность перевода игрового движка c# на c++ - C++

27.10.2012, 23:42. Просмотров 1392. Ответов 30
Метки нет (Все метки)

У меня вопрос. Делаем с другом игровой движок. Точнее делаем редактор к портированому на c# графическому движку ogre. Вопрос: Если мы все сделаем на c# можно будет легко перенести все на winapi или mfc?. Если что ogre изначально для c++
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 23:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возможность перевода игрового движка c# на c++ (C++):

Что можно выбрать в Visual Studio чтобы написать типа игрового движка или ядра на c++ но не Win32 и с DirectX? - C++
для современных Windows. другое не рассматривается Вот допустим решил написать движок для видеоигры на c++ для этого нужны несколько...

Написать программу удаления из текстового файла символов перевода строки ‘\n’ и перевода каретки ‘\r’ - C++
Здравствуйте,помогите написать программу на подобии этой,только не подсчета,а удаления.Заранее благодарен! #include <stdio.h> int...

Разработка игрового движка - Графика и игры
Здравствуйте. Планирую используя C# разработать игру. Есть вопрос: Стоит ли разрабатывать движок, либо просто программировать с...

Работа игрового движка - XNA
собственно интересует вопрос "что есть игровой движок" что из себя представляет, как строится и прочее... причем наверное имеется сильное...

Исходники игрового движка - Delphi
Нужны исходник какого либо игрового движки, пусть даже самого фиговенького. Кто знает где найти дайте плиз ссылку где скачать можно.

Написание игрового движка - Visual C++
Здравствуйте, хочу ради обучения создать собственный псевдотрёхмерный (по другому 2,5D) игровой движок (графика, звук). Я довольно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
28.10.2012, 00:13 #2
Цитата Сообщение от tofast Посмотреть сообщение
Если мы все сделаем на c# можно будет легко перенести все на winapi или mfc?
Нет, просто не перенесете. Придется менять слишком много
0
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,665
Записей в блоге: 17
28.10.2012, 01:36 #3
Если мы все сделаем на c# можно будет легко перенести все на winapi или mfc?.
Всё равно что начать с нуля.
1
san92der
14 / 14 / 3
Регистрация: 27.10.2012
Сообщений: 108
28.10.2012, 03:27 #4
За игровой движок на шарпе лучше вообще не браться. Этот язык просто не для этого создан.
0
Savvy
119 / 117 / 1
Регистрация: 21.12.2011
Сообщений: 348
28.10.2012, 04:03 #5
tofast, все зависит от того, насколько хорошо движок будет отделен от интерфейса. Если связность будет минимальна, то заменять много, но не критично. В основном типы данных, + потом подумать где оптимизировать потребление памяти переходом на указатели.

Цитата Сообщение от Avazart Посмотреть сообщение
Всё равно что начать с нуля.
бред

Цитата Сообщение от san92der Посмотреть сообщение
За игровой движок на шарпе лучше вообще не браться. Этот язык просто не для этого создан.
бред, для движков средней детализации и скорости лучше языка и не придумаешь.
0
Croessmah
Эксперт CЭксперт С++
13216 / 7488 / 843
Регистрация: 27.09.2012
Сообщений: 18,405
Записей в блоге: 3
Завершенные тесты: 1
28.10.2012, 04:10 #6
Цитата Сообщение от Savvy Посмотреть сообщение
бред, для движков средней детализации и скорости лучше языка и не придумаешь.
для 3D тетриса пойдет
0
Savvy
119 / 117 / 1
Регистрация: 21.12.2011
Сообщений: 348
28.10.2012, 04:17 #7
Croessmah, на юнити вполне годная картинка получается, не понимаю в чем ирония. ТС судя по всему явно не конкурента БФ3 пишет.
0
Casper-SC
28.10.2012, 09:03
  #8

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
для 3D тетриса пойдет
Да ладно. Сам лично запускал 3D гонки с достаточно приличной графикой (проект для XNA Game Studio) игра нормально шла, не тормозила по сравнению с играми с аналогичной графикой. Давайте на вещи смотреть трезво, на шарпе можно вполне сносные 3D игры делать. Вот отрисовка 3D планеты на XNA.

0
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,665
Записей в блоге: 17
28.10.2012, 13:08 #9
Цитата Сообщение от Savvy Посмотреть сообщение
бред
А вы когда нибудь пробовали что-то переводить C# на С++ ? и тем более с WinApi ?
Это разные языки,платформы.
1
Savvy
119 / 117 / 1
Регистрация: 21.12.2011
Сообщений: 348
28.10.2012, 13:15 #10
Avazart, да, конечно. Если в шарпе использовалось WinApi, то все все функции импортились, соотв. переписать вызов и инициализацию, для меня не составляет труда.
0
Croessmah
Эксперт CЭксперт С++
13216 / 7488 / 843
Регистрация: 27.09.2012
Сообщений: 18,405
Записей в блоге: 3
Завершенные тесты: 1
28.10.2012, 13:16 #11
Цитата Сообщение от Savvy Посмотреть сообщение
Avazart, да, конечно. Если в шарпе использовалось WinApi, то все все функции импортились, соотв. переписать вызов и инициализацию, для меня не составляет труда.
Если использовать winapi, то какой смысл тогда использовать c#?
0
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,665
Записей в блоге: 17
28.10.2012, 13:17 #12
В C# WinApi, не смешите
1
Savvy
119 / 117 / 1
Регистрация: 21.12.2011
Сообщений: 348
28.10.2012, 13:18 #13
Croessmah, а если нужен хук на клавиатуру? я должен всё бросить и педалить на плюсах?
0
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,665
Записей в блоге: 17
28.10.2012, 13:20 #14
Croessmah, а если нужен хук на клавиатуру? я должен всё бросить и педалить на плюсах?
Хорошая возможность выкинуть clr

И Сейчас нужен хук, завтра еще что... оно дела такое...

Лучше сразу подумать что нужно... и на то и рассчитывать...
1
Casper-SC
Эксперт .NET
3507 / 1726 / 178
Регистрация: 27.03.2010
Сообщений: 4,880
Записей в блоге: 1
28.10.2012, 13:22 #15
Цитата Сообщение от Avazart Посмотреть сообщение
В C# WinApi, не смешите
?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Runtime.InteropServices;
using System.Windows.Input;
 
namespace Program.Hotkeys
{
    internal class HotKeyWinApi
    {
        public const int WmHotKey = 0x0312;
 
        [DllImport("user32.dll", SetLastError = true)]
        public static extern bool RegisterHotKey(IntPtr hWnd, int id, ModifierKeys fsModifiers, Keys vk);
 
        [DllImport("user32.dll", SetLastError = true)]
        public static extern bool UnregisterHotKey(IntPtr hWnd, int id);
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System;
using System.IO;
using System.Net;
using System.Runtime.InteropServices;
using System.Net.NetworkInformation;
 
namespace Program.Web
{
    public static class Internet
    {
        [DllImport("wininet.dll")]
        static extern bool InternetGetConnectedState(ref InternetConnectionState lpdwFlags, int dwReserved);
        static object _syncObj = new object();
        [Flags]
        enum InternetConnectionState : int
        {
            INTERNET_CONNECTION_MODEM = 0x1,
            INTERNET_CONNECTION_LAN = 0x2,
            INTERNET_CONNECTION_PROXY = 0x4,
            INTERNET_RAS_INSTALLED = 0x10,
            INTERNET_CONNECTION_OFFLINE = 0x20,
            INTERNET_CONNECTION_CONFIGURED = 0x40
        }
 
        /// <summary>
        /// Проверить, есть ли соединение с интернетом
        /// </summary>
        /// <returns></returns>
        public static Boolean CheckConnection()
        {
            lock (_syncObj)
            {
                try
                {
                    InternetConnectionState flags = InternetConnectionState.INTERNET_CONNECTION_CONFIGURED | 0;
                    bool checkStatus = InternetGetConnectedState(ref flags, 0);
 
                    if (checkStatus)
                        return PingServer(new string[]
                                            {
                                                @"google.com",
                                                @"microsoft.com",
                                                @"ibm.com"
                                            });
 
                    return checkStatus;
                }
                catch
                {
                    return false;
                }
            }
        }
 
        public static bool PingServer(string[] serverList)
        {
            bool haveAnInternetConnection = false;
            Ping ping = new Ping();
            for (int i = 0; i < serverList.Length; i++)
            {
                PingReply pingReply = ping.Send(serverList[i]);
                haveAnInternetConnection = (pingReply.Status == IPStatus.Success);
                if (haveAnInternetConnection)
                    break;
            }
            
            return haveAnInternetConnection; 
        }
    }
}

Не по теме:

Avazart,

Цитата Сообщение от Savvy Посмотреть сообщение
Croessmah, а если нужен хук на клавиатуру? я должен всё бросить и педалить на плюсах?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2012, 13:22
Привет! Вот еще темы с ответами:

Выбор игрового движка - Графика и игры
Доброе время суток, товарищи! Помогите, пожалуйста, выбрать игровой движок Задача проекта состоит в следующем: По имеющимся...

Создание игрового движка - Графика и игры
Не могу найти даже немного информации об архитектуре самого простейшего игрового движка (графика на уровне простейших 2d фигур, без...

Хорошая ли графика игрового движка ? - Графика и игры
Очень интересно, понравится ли вам это графика ? Если многим понравится, то приступлю к созданию игры на этом движке

Описание игрового движка Unity3D - Графика и игры
http://unity3dforge.com Unity3D — это программная среда для разработки 2D/3D игр и приложений, предназначенных для работы в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.10.2012, 13:22
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru