|
2D-программирование Вопросы, касающиеся двумерного программирования |
01.02.2016, 20:51
|
#1
|
AnyKey`щик
Регистрация: 01.02.2016
Сообщений: 16
Написано одно полезное сообщение (для 2 участников)
|
Перезапуск Программы
Добрый вечер.
Помню я находил код в blitzbasic.com, который перезапускал программу.
Се час ни как не могу вспомнить или найти.
Народ подскажите пожалуйста код для перезапуска программы.
Последний раз редактировалось Harts, 01.02.2016 в 22:20.
|
(Offline)
|
|
02.02.2016, 18:04
|
#2
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,024
Написано 2,313 полезных сообщений (для 5,350 пользователей)
|
Ответ: Перезапуск Программы
Через командную строку?
Print "Нажмите любую клавишу для перезапуска программы."
WaitKey()
ExecFile "start /start.exe"
|
(Offline)
|
|
03.02.2016, 13:15
|
#3
|
AnyKey`щик
Регистрация: 01.02.2016
Сообщений: 16
Написано одно полезное сообщение (для 2 участников)
|
Ответ: Перезапуск Программы
Сообщение от Arton
Через командную строку?
Print "Нажмите любую клавишу для перезапуска программы." WaitKey() ExecFile "start /start.exe"
|
Это не то. Если имя файла измениться, то код работать не будет.
|
(Offline)
|
|
03.02.2016, 14:21
|
#4
|
Элита
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений (для 2,828 пользователей)
|
Ответ: Перезапуск Программы
Сообщение от Harts
Это не то. Если имя файла измениться, то код работать не будет.
|
Ну если в папке только один *.exe файл будет, то просто - блицем ищем в нужной директории имя файла exe и запускаем его.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.
Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2
Скачать Doom 2D: Remake v0.3.8a
|
(Offline)
|
|
03.02.2016, 14:32
|
#5
|
ПроЭктировщик
Регистрация: 01.01.2016
Сообщений: 144
Написано 74 полезных сообщений (для 164 пользователей)
|
Ответ: Перезапуск Программы
По моему в какой-то сторонней библиотеки было подобие реализации функции atExit(f()). Не помню точно но похоже была у Михаила Ворстникова aka MixailV.
|
(Offline)
|
|
03.02.2016, 14:44
|
#6
|
AnyKey`щик
Регистрация: 01.02.2016
Сообщений: 16
Написано одно полезное сообщение (для 2 участников)
|
Ответ: Перезапуск Программы
Сообщение от St_AnGer
Ну если в папке только один *.exe файл будет, то просто - блицем ищем в нужной директории имя файла exe и запускаем его.
|
То же не вариант, в папке 3 файла *.exe.
Когда у меня подобный вопрос: можно сделать так чтобы при изменения разрешения экрана в самом меню игры, менялась без выхода и входа в игру?
Последний раз редактировалось Harts, 03.02.2016 в 19:13.
|
(Offline)
|
|
03.02.2016, 21:10
|
#7
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Перезапуск Программы
Сообщение от Harts
То же не вариант, в папке 3 файла *.exe.
Когда у меня подобный вопрос: можно сделать так чтобы при изменения разрешения экрана в самом меню игры, менялась без выхода и входа в игру?
|
Применять в основном цикле изменение разрешения (не каждый кадр разумеется, а только тогда когда надо).
|
(Offline)
|
|
03.02.2016, 21:38
|
#8
|
Элита
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений (для 2,828 пользователей)
|
Ответ: Перезапуск Программы
Сообщение от Harts
То же не вариант, в папке 3 файла *.exe.
Когда у меня подобный вопрос: можно сделать так чтобы при изменения разрешения экрана в самом меню игры, менялась без выхода и входа в игру?
|
Можно конечно. Изменение графики в главном цикле возможно, ровно как и перезагрузка ресурсов. Сейчас точно не скажу, давно было дело, но такие вещи делались довольно тривиально (что то типа убрать графику, не помню команда есть такая, иль нет, а потом Graphics/Graphics3D с нужным разрешением вызываешь и будет тебе счастье).
Влоб наверно тоже будет работать, проверить только не на чем, у меня винды нету . По идее по пробелу разрешение должно упасть.
Graphics3D 1024,768,32
While Not KeyHit(1)
If (KeyHit(57)) Then
Graphics3D 800,600,32
End If
UpdateWorld()
RenderWorld()
Flip()
Wend
End
UPD: Может быть придётся ещё камеры пересоздать. Но по идее лучше вообще перезагрузить все ресурсы игры, чтоб никаких глюков не было, я так делал.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.
Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2
Скачать Doom 2D: Remake v0.3.8a
|
(Offline)
|
|
03.02.2016, 22:15
|
#9
|
AnyKey`щик
Регистрация: 01.02.2016
Сообщений: 16
Написано одно полезное сообщение (для 2 участников)
|
Ответ: Перезапуск Программы
Сообщение от St_AnGer
Можно конечно. Изменение графики в главном цикле возможно, ровно как и перезагрузка ресурсов. Сейчас точно не скажу, давно было дело, но такие вещи делались довольно тривиально (что то типа убрать графику, не помню команда есть такая, иль нет, а потом Graphics/Graphics3D с нужным разрешением вызываешь и будет тебе счастье).
Влоб наверно тоже будет работать, проверить только не на чем, у меня винды нету . По идее по пробелу разрешение должно упасть.
Graphics3D 1024,768,32
While Not KeyHit(1)
If (KeyHit(57)) Then
Graphics3D 800,600,32
End If
UpdateWorld()
RenderWorld()
Flip()
Wend
End
UPD: Может быть придётся ещё камеры пересоздать. Но по идее лучше вообще перезагрузить все ресурсы игры, чтоб никаких глюков не было, я так делал.
|
Не помогло.
|
(Offline)
|
|
04.02.2016, 02:39
|
#10
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Перезапуск Программы
Сообщение от St_AnGer
Но по идее лучше вообще перезагрузить все ресурсы игры, чтоб никаких глюков не было, я так делал.
|
> лучше
Как будто есть и другие варианты. При вызове Graphics или Graphics3D все загруженные модели и текстуры уничтожаются.
Сообщение от Harts
Не помогло.
|
А что происходит вместо переключения разрешения?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
04.02.2016, 02:45
|
#11
|
AnyKey`щик
Регистрация: 01.02.2016
Сообщений: 16
Написано одно полезное сообщение (для 2 участников)
|
Ответ: Перезапуск Программы
Сообщение от ABTOMAT
> лучше
Как будто есть и другие варианты. При вызове Graphics или Graphics3D все загруженные модели и текстуры уничтожаются.
А что происходит вместо переключения разрешения?
|
Ни чего не происходить.
|
(Offline)
|
|
04.02.2016, 04:17
|
#12
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,024
Написано 2,313 полезных сообщений (для 5,350 пользователей)
|
Ответ: Перезапуск Программы
Сообщение от Harts
Ни чего не происходить.
|
Код рабочий...
Ты ничего не менял, запустилось во весь экран. Объектов нет, камеры нет, чёрный экран, естественно при смене разрешения разницы не видно.
Поставь оконный режим.
Учитывая что все ресурсы сбрасываются, и их надо по новой загружать, то проще перезапускать всю программу. Впрочем можно сделать в меню, предполагая что там мало ресурсов.
Память будет цела, за исключением медиа, текстуры, звуки и т. д. ( нужны уточнения)
Сторонняя библиотека, например для звука, будет исправно работать. ( нужны уточнения)
Не понял — чистит ли блиц ресурсы при переключение графики. Ой, Автомат всё написал.
Последний раз редактировалось Arton, 04.02.2016 в 15:29.
|
(Offline)
|
|
04.02.2016, 09:35
|
#13
|
Элита
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений (для 2,828 пользователей)
|
Ответ: Перезапуск Программы
Сообщение от ABTOMAT
Как будто есть и другие варианты. При вызове Graphics или Graphics3D все загруженные модели и текстуры уничтожаются.
|
Я просто не помню как блиц работает при вызове этих команд, давно дело было, но точно помню что я не натыкаясь на выгрузку ресурсов сам делал полную перезагрузку у себя в проектах (опираясь на игры от нормальных разработчиков). Спасибо что освежил в памяти эту инфу!
Сообщение от Arton
Учитывая что все ресурсы сбрасываются, и их надо по новой загружать, то проще перезапускать всю программу.
|
Я очень сомневаюсь что это выгодный вариант, особенно для игры. Посмотри на все нормальные игры - разрешение меняется без перезапуска приложения, просто выгрузка и загрузка ресурсов на лету происходит. Это же реализуется достаточно просто на небольшом проекте.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.
Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2
Скачать Doom 2D: Remake v0.3.8a
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:32.
|