Опции инструментария для 2D игрового [закрытого] программирования Python

Привет, вы можете сделать что-то вроде этого:

  1. Создать класс, который реализует AsyncTask
    // TASK 
    public class SomeClass extends AsyncTask<Void, Void, String>>
    {
    
        private OnTaskExecutionFinished _task_finished_event;
    
        public interface OnTaskExecutionFinished
        {
            public void OnTaskFihishedEvent(String Reslut);
        }
    
        public void setOnTaskFinishedEvent(OnTaskExecutionFinished _event)
        {
            if(_event != null)
            {
                this._task_finished_event = _event;
            }
        }
    
        @Override
        protected void onPreExecute()
        {
            super.onPreExecute();
    
        }
    
        @Override
        protected String doInBackground(Void... params)
        {
            // do your background task here ...
    
            return "Done!";
        }
    
        @Override
        protected void onPostExecute(String result)
        {
            super.onPostExecute(result);
            if(this._task_finished_event != null)
            {
                this._task_finished_event.OnTaskFihishedEvent(result);
            }
            else
            {
                Log.d("SomeClass", "task_finished even is null");
            }
        }
    }
    
  2. Добавить в главную активность
    // MAIN ACTIVITY
    public class MyActivity extends ListActivity
    {
       ...
        SomeClass _some_class = new SomeClass();
        _someclass.setOnTaskFinishedEvent(new _some_class.OnTaskExecutionFinished()
        {
        @Override
        public void OnTaskFihishedEvent(String result)
        {
            Toast.makeText(getApplicationContext(),
                    "Phony thread finished: " + result,
                    Toast.LENGTH_SHORT).show();
        }
    
       });
       _some_class.execute();
       ...
     }
    
14
задан Pip 17 December 2013 в 22:44
поделиться

8 ответов

Я использую pygame сам, и это очень хорошо. Это имеет хорошую документацию и учебные руководства, и вполне хорошо разработано. Я также услышал замечательные обзоры поросенок .

11
ответ дан 1 December 2019 в 10:05
поделиться

Я использовал и настоятельно рекомендовал бы поросенок , который обеспечивает 2D графику спрайта, рычаги в эффекты OpenGL, аудио поддержку, управление активами файла, и превосходное текстовое расположение и поддержку дисплея (не что-то, что Вы всегда находите в 2D игровой библиотеке). API нормален, хорошо зарегистрирован, и легок начать с и идет глубоко (особенно, если Вы - мастер OpenGL).

Как компаньон поросенку, я использовал и также предложил бы Cocos2D, который добавляет управление сценой, улучшенные спрайты, размещенную рядом поддержку карты, и воображение (ускорило) эффекты добавить немного полировки. Cocos все еще молод, но формирующийся быстро и уже имеет довольно основательную документацию.

6
ответ дан 1 December 2019 в 10:05
поделиться

сообщение в блоге А, покрывающее несколько из альтернатив , включая PyGame, PyCap, SpriteCraft, и ika. Я также видел поросенок упомянутый.

можно также хотеть посмотреть Panda, который является очень простым в использовании 3D механизмом с привязкой Python. Это используется для быстрого прототипирования в ETC Carnegie Mellon.

5
ответ дан 1 December 2019 в 10:05
поделиться

Я думаю, что pygame является стандартом для разработки игр в Python, я не знаю ни о каких других. Книга, которой можно интересоваться, Игровое Программирование с Python, Lua и Ruby. Мало того, что это покрывает Python (и, я верю, pygame модуль), но он также дает Вам воздействие Lua и Ruby. Это также доступно на books24x7, если у Вас есть подписка там.

3
ответ дан 1 December 2019 в 10:05
поделиться

Другая опция pycap, который является оберткой для popcap платформы с Python.

1
ответ дан 1 December 2019 в 10:05
поделиться

Я только услышал, что люди говорят о pygame. Это имеет тонны подписчиков & много функциональности.

Недавно я видел эта книга в barnes & благородный, который я мог бы проверить один день. Это выглядело хорошим.

0
ответ дан 1 December 2019 в 10:05
поделиться

Если Вы уже знакомы с использованием OpenGL на другом языке (вероятно, C или C++) затем , PyOpenGL является потрясающим. Я был удивлен относительно того, как легкий это должно было переключиться от OpenGL/C до OpenGL/Python. Производительность не является половиной плохо также.

я услышал хорошие вещи о PyGame и Pyglet, хотя я должен признать, что действительно не сделал многого бездельничающего ни с одним.

1
ответ дан 1 December 2019 в 10:05
поделиться

Последующий вопрос:

я не могу только кодировать простую 2D игру в некотором существующем графическом инструментарии / инструментарии работы с окнами как превосходный wxPython?

я извлеку выгоду из готовых виджетов GUI, которые могут перенести графику в мою игру, в то время как с pyGame я должен разработать их сам.

0
ответ дан 1 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: