среда, 30 декабря 2015 г.

Не мытьем, так катаньем...

Не сумел сообразить, как передать аргументы на запуск в блендерплейер, зато сообразил, что можно просто создать файл сценария операционной системы и уже его запустить. Однако получилось.  Еще не сообразил, как отправлять совместно некоторые аргументы, но задание разрешения уже работает. Понятно, что у вас пути и имена файлов должны быть иными.
P.S. Сообразил, достаточно указать явно оболочку оси типа:
x = subprocess.Popen([gameName + '  ' + arguments], shell = True) и все заработает. Ну, почти все.
 Ниже уже не нужный скриптец:




#!/usr/bin/env python
# -*- coding: utf-8 -*-

# эта библиотека нужна будет для задания прав на исполнение
import os
# а эта для запуска файла сценария
import subprocess
# путь к блендерплейеру, можно выбирать, в зависимости от оси, 
# у меня линь, мне на остальные несколько пофиг.
pathToPlayer = '/home/denis8424/blender-2.75-linux-glibc211-i686/blenderplayer'
# аргументы запуска, сам понимаете, что строку можно любую сделать
arguments = '-f 1920 1080 2 60 -g show_profile = 1'
# имя бленда, который мы будем играть
gameName = '/home/denis8424/bge/mipmap.blend'
# путь к файлу сценария операционной системы, который мы будем делать
pathToLauncher = '/home/denis8424/bge/launch2'
# открываем файл, если его еще нет, он будет создан
f = open(pathToLauncher, 'w')
# пишем строку, объясняя, что это файл сценария и где взять интерпретатор
# кстати интерпретаторы разные бывают, тоже надо выбирать
f.write('#!/bin/sh' + '\n')
# пишем аргументы запуска
f.write(pathToPlayer + ' ' + arguments + ' ' + gameName + '\n')
# закрываем файл
f.close()
# задаем ему права на исполнение
os.chmod(pathToLauncher, 0777)
# запускаем
x = subprocess.Popen([pathToLauncher])

Комментариев нет:

Отправить комментарий