2013-06-02 4 views
-1

HelloДанные совместного использования API C/Python

Я создавал движок игры C/SDL. Я хотел бы использовать python в качестве языка сценариев (не спрашивайте, почему). Я уже понял, как выполнять функции C из python. Всякий раз, когда я скомпилирую функции C, которые будут использоваться в python, я должен скомпилировать их как .so, что позволяет импортировать отдельные функции в скрипт Python.

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

+0

Вы посмотрели на этот вопрос? http://stackoverflow.com/questions/3286448/calling-a-python-method-from-cc-and-extracting-its-return-value –

+0

Это уже работает в моем движке, вы видите функции C, которые можно запустить в Python скомпилированы в .so, а не в .exe, и вы не можете выполнить .so, поэтому я не могу понять, как объединить их вместе, чтобы python и получить функции C и все другие функции кода, где это возможно. –

+0

Что вы используете для скомпилированных функций C? типы? – PSS

ответ

0

Ваш актуальный вопрос не может быть то, что вы ищете ответ, но это то, что вы просили, так:

Существуют ли стандартные функции библиотеки я мог бы использовать для отображения текстового поля?

Не текстовое поле SDL. Нет стандартных функций библиотеки, которые вообще что-либо делают с SDL. Существуют стандартные библиотечные функции для отображения текстовых полей в графическом интерфейсе Tk, но они вам не помогут.

Существует два основных способа отображения виджетов в дизайне, таком как ваш.

Во-первых, вы можете найти библиотеку виджетов SDL в C. Попробуйте searching the SDL library repository для библиотек «Интерфейс». Выберите тот, который выглядит многообещающим, напишите привязки Python для него так же, как и для самого SDL, и все готово.

В качестве альтернативы вы можете написать библиотеку виджетов в чистом Python вокруг своих привязок SDL более низкого уровня. Это будет намного больше работы.

Однако, я думаю, вы будете намного счастливее, используя pygame, чем то, что вы сейчас делаете. Для новичков, конечно, намного легче, чем пытаться напрямую взаимодействовать с SDL. Но даже для тех, кто действительно знает, что он делает, pygame предлагает так много на SDL, что он привлекателен практически для любого проекта, который вы рассматриваете.

Смежные вопросы