motofan logo
5 страниц V < 1 2 3 4 5 >        
> 

Python 2.5 + pyGame 0.9.1, Собираем игры и программы на Python'е!

EXL
сообщение 27.11.2010, 19:16 Закрепленное сообщение!


Rock The Microphone
********

Группа: Администратор
Сообщений: 2 071
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652





Компиляция Python 2.2.1

Изображение

Для начала скачиваем тулчейн
Устанавливаем его, подробнее про установку тут, в закреплённом посту
Скачиваем собственно Python-2.2.1
Скачиваем Патч для кросс-компиляции

1. Запускаем окружение:
Код
cd /home/z6
. setenv-z6.sh


2. Распаковываем Python-2.2.1 в /home/z6:

Код
tar -C /home/z6 -xzvf /home/z6/Python-2.2.1.tgz


3. Создаём папку python в тулчейне

Код
mkdir /opt/toolchains/motomagx/arm-eabi2/python


4. Применяем патч (он должен лежать /home/z6)

Код
cd /home/z6
cat python-cross-compile.diff | patch -p0


5. Заходим в директорию питона и выполняем
Код
cd/home/z6/Python-2.2.1
./configure --host=arm-linux-gnueabi --prefix=/opt/toolchains/motomagx/arm-eabi2/python
make

После Make ругнётся, что не может запустить
./python: 1: Syntax error: word unexpected (expecting ")")
Правильно, мы ведь компилировали не под х86, а под ARM
Так что выполняем
Код
make install


6. Копируем папку /opt/toolchains/motomagx/arm-eabi2/python
в телефон, я например скопировал её в /mmc/mmca1/games/ (/mmc/mmca1- это флешка)

7. Кстати, не забываем устанавливать необходимые либы, понадобиться libutils и ещё некоторые.
Если у вас тут возникнут проблемы - стучите в асечку

8. Ну и собственно Hello World

- Создаём файл test.py
- С помощью Notepad++ пишем туда следующее:
Код
print "Hello, Motorola!"

- Сохраняем, кидаем файл куда-нибудь на телефон, например в папку /mmc/mmca1/test/
- Создаём такой скриптик start.sh:
Код

#!/bin/sh
mypath=${0%/*}
export HOME=$mypath
LIBDIR1=/ezxlocal/download/mystuff/games/lib
LIBDIR2=/mmc/mmca1/games/lib
LIBDIR3=$mypath/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LIBDIR1:$LIBDIR2:$LIBDIR3
PYTHONHOME=/mmc/mmca1/games/python
export PYTHONHOME
PYTHONPATH=${PYTHONHOME}/lib/python2.2/site-packages:$PYTHONPATH
PYTHONPATH=${PYTHONHOME}/lib/python2.2:$PYTHONPATH
PYTHONPATH=${PYTHONHOME}:$PYTHONPATH
export PYTHONPATH

LD_LIBRARY_PATH=${PYTHONHOME}/extras:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH

exec $PYTHONHOME/bin/python2.2 -v $mypath/test.py


- Копируем скрипт в папку test, подключаемся в телнет, выполняем:
Код
/mmc/mmca1/test/start.sh


- И видим следующее
Код
ture__.pyc
Python 2.2.1 (#1, Nov 28 2010, 15:31:13)
[GCC 3.4.3 (MontaVista 3.4.3-25.0.96.%{_mvl_build_id} 2007-11-17)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Hello, Motorola!
# clear __builtin__._
# clear sys.path
# clear sys.argv
# clear sys.ps1
# clear sys.ps2


- Избавиться от мусора можно просто убрав флажок -v в скрипте
Т.е
Код
exec $PYTHONHOME/bin/python2.2 $mypath/test.py

Тогда будет просто
Код
[root@Symbiosis ~]
#> /mmc/mmca1/test/start.sh
Hello, Motorola!


Результат можно вывести в файл:
Код
exec $PYTHONHOME/bin/python2.2 $mypath/test.py > $mypath/output.txt


9. Скрипт на питоне для получения числа пи.
Код

#! /usr/bin/env python

# Print digits of pi forever.
#
# The algorithm, using Python's 'long' integers ("bignums"), works
# with continued fractions, and was conceived by Lambert Meertens.
#
# See also the ABC Programmer's Handbook, by Geurts, Meertens & Pemberton,
# published by Prentice-Hall (UK) Ltd., 1990.

import sys

def main():
    k, a, b, a1, b1 = 2L, 4L, 1L, 12L, 4L
    while 1:
        # Next approximation
        p, q, k = k*k, 2L*k+1L, k+1L
        a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
        # Print common digits
        d, d1 = a/b, a1/b1
        while d == d1:
            output(d)
            a, a1 = 10L*(a%b), 10L*(a1%b1)
            d, d1 = a/b, a1/b1

def output(d):
    # Use write() to avoid spaces between the digits
    # Use str() to avoid the 'L'
    sys.stdout.write(str(d))
    # Flush so the output is seen immediately
    sys.stdout.flush()

main()

Код

#!/bin/sh
mypath=${0%/*}
export HOME=$mypath
LIBDIR1=/ezxlocal/download/mystuff/games/lib
LIBDIR2=/mmc/mmca1/games/lib
LIBDIR3=$mypath/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LIBDIR1:$LIBDIR2:$LIBDIR3
PYTHONHOME=/mmc/mmca1/games/python
export PYTHONHOME
PYTHONPATH=${PYTHONHOME}/lib/python2.2/site-packages:$PYTHONPATH
PYTHONPATH=${PYTHONHOME}/lib/python2.2:$PYTHONPATH
PYTHONPATH=${PYTHONHOME}:$PYTHONPATH
export PYTHONPATH

LD_LIBRARY_PATH=${PYTHONHOME}/extras:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH

exec $PYTHONHOME/bin/python2.2 $mypath/pi.py > $mypath/pi.txt

Ждём с минутку, нажимаем Ctrl + C, и в файле pi.txt будет число пи smile.gif

10. Примеры скриптов, демок итд можно посмотреть в файле /home/z6/Python-2.2.1/Demo

В общем направление я дал. Дело за вами)
Теперь насчёт pyGame и визуальной оболочки.
pyGame реально портировать, он уже портирован на такие устройства как Dingoo A320, GP2X думаю нам нужно будет сделать лишь вывод изображения
Я не сильно знаком с питоном, но если из него можно будет запускать необходимые шоумодули - получим оболочку.

При написании мануала пользовался этим - ARM Cross-compiling Python и статьёй уважаемого racinglocura07

Зеркала. Прикрепил все файлы на мотофан:

Скачать исходники Python-2.2.1
Скачать патч python-cross-compile
Скачать уже откомпилированный Python-2.2.1 для Z6/V8/EM30/ZN5 и прочих MotoMagx
Скачать HelloWorld'ы, примеры скриптов

Сообщение отредактировал EXL - 28.11.2010, 13:47
Прикрепленный файл python-cross-compile.7z   ( 1.87 килобайт ) Кол-во скачиваний: 359
Прикрепленный файл python.7z   ( 1.59 мегабайт ) Кол-во скачиваний: 601
Прикрепленный файл Python-2.2.1.tgz.7z   ( 6.23 мегабайт ) Кол-во скачиваний: 1073
Прикрепленный файл test.7z   ( 4.77 килобайт ) Кол-во скачиваний: 365
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 2.2.2011, 7:22


Rock The Microphone
********

Группа: Администратор
Сообщений: 2 071
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652





Не знаю что за проблема. Как вариант, можно попробовать удалить полностью папку games с флешки, и заново кинуть её из этого поста:
Python 2.5 + pyGame 0.9.1 (Номер #8)
Именно в режиме карты памяти или через картридер, но не через ftp.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Irony
сообщение 2.2.2011, 10:23


Интересующийся
**

Группа: Пользователи
Сообщений: 53
Регистрация: 9.1.2007
Из: Ростов-на-Дону
Пользователь №: 115 732
Модель телефона: Zine Zn5
Прошивка: PE 0.9beta

Рейтинг: 5.5



Я сливал именно через ftp, сейчас попробую

P.S. Волшебство! И в правду заработало =) Спасибо огромнейшее!
Как понимаю с pyQt и сокетами пока что никак?

Сообщение отредактировал Irony - 2.2.2011, 11:29
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Hairo Carela
сообщение 3.2.2011, 16:09


From a Distant Land
***

Группа: Пользователи
Сообщений: 141
Регистрация: 17.8.2009
Из: Dominican Republic
Пользователь №: 204 655
Модель телефона: ZINE Zn5
Прошивка: Qtopia Alpha


Настроение:
(-.-)'



Рейтинг: 230



10. SHIPPU GSS

Назначение: A time attack shooter
Автор: Yasuaki Gohko (gony)
Портировал на ZN5: Hairo
Дополнительно:
Control:
Joystick: Movement
Volume +: Rapid Fire
Volume -: Beam
Red: Quit

Thanks to the author himself, he helped me with some info about the code...

Скриншоты приложения:
IPB Image IPB Image

Скачать MGX пакет

Сообщение отредактировал Hairo Carela - 3.2.2011, 16:12
Прикрепленный файл shippugss.mgx   ( 1.23 мегабайт ) Кол-во скачиваний: 233
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Hairo Carela
сообщение 4.2.2011, 17:08


From a Distant Land
***

Группа: Пользователи
Сообщений: 141
Регистрация: 17.8.2009
Из: Dominican Republic
Пользователь №: 204 655
Модель телефона: ZINE Zn5
Прошивка: Qtopia Alpha


Настроение:
(-.-)'



Рейтинг: 230



This time, an app laugh.gif

--------------------------------------------------------------------------

11. EXIF Info

Назначение: EXIF tag viewer for .jpg files using EXIF.py library...
Автор: Gene Cash (EXIF.py lib) / Hairo (scripting)
Язык: English, Russian, Spanish (EXIF tag names are in English)
Дополнительно:
Thanks to Gene Cash for the EXIF lib written in python...
Скриншоты приложения:

IPB Image IPB Image IPB Image


Скачать MGX пакет
Прикрепленный файл EXIF.mgx   ( 39.04 килобайт ) Кол-во скачиваний: 200
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Hairo Carela
сообщение 24.2.2011, 18:01


From a Distant Land
***

Группа: Пользователи
Сообщений: 141
Регистрация: 17.8.2009
Из: Dominican Republic
Пользователь №: 204 655
Модель телефона: ZINE Zn5
Прошивка: Qtopia Alpha


Настроение:
(-.-)'



Рейтинг: 230



12. pyDiskUsage

Назначение: Simple Disk Usage display ported from GP2X...
Автор: Carlos Galisteo
Язык: English

Скриншоты приложения:

IPB Image

Скачать MGX пакет
Прикрепленный файл pyDiskUsage.mgx   ( 65.01 килобайт ) Кол-во скачиваний: 254
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Hairo Carela
сообщение 26.2.2011, 16:19


From a Distant Land
***

Группа: Пользователи
Сообщений: 141
Регистрация: 17.8.2009
Из: Dominican Republic
Пользователь №: 204 655
Модель телефона: ZINE Zn5
Прошивка: Qtopia Alpha


Настроение:
(-.-)'



Рейтинг: 230



13. pySlide

Назначение:A sliding numbers puzzle game with customizable size...
Автор: Barnesy
Портировал на ZN5: Hairo
Язык: English
Дополнительно:
Control:
Joystick/4,8,6,2: Movement
Center joystick/Camera: Game menu
Red: Quit

Скриншоты приложения:

IPB Image IPB Image IPB Image


Скачать MGX пакет
Прикрепленный файл pySlide.mgx   ( 6.45 килобайт ) Кол-во скачиваний: 233
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
XXX_S_B
сообщение 28.2.2011, 13:24


СуперГуру
*******

Группа: Пользователи
Сообщений: 1 562
Регистрация: 28.1.2009
Из: Украина
Пользователь №: 192 228
Модель телефона: L9, Z6, ZN5, XT1080M

Рейтинг: 1019



14. RedGiant

Назначение: Космическая стрелялка
Автор: liberatumundo.wordpress.com
Портировал на ZN5: XXX_S_B
Версия: 1.0
Язык: Английский, Русский, Испанский (спасибо Hairo Carela за реализацию мультиленга)
Дополнительно: Хочу выразить огромную благодарность EXL за помощь в портировании данной игры.
Управление:
Джойстик - Движение.
Центр джойстика - Огонь ракетами.
1, 3 - Альтернативный огонь.
Кр. трубка - Аналог клавиши Esc.
Скриншоты приложения:
Изображение Изображение Изображение

Скачать MGX пакет

Сообщение отредактировал XXX_S_B - 2.3.2011, 17:52
Прикрепленный файл RedGiant.mgx   ( 173.18 килобайт ) Кол-во скачиваний: 226
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
(-EDGE-)
сообщение 21.4.2014, 8:37


Интересующийся
**

Группа: Пользователи
Сообщений: 61
Регистрация: 29.3.2013
Пользователь №: 241 352
Модель телефона: E398, E2 and ZN5

Рейтинг: 5



Я от этого далек, но все же рискну спросить. А никто не пробовал портануть игра с n-gage? Там же тоже питон!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 21.4.2014, 8:55


Rock The Microphone
********

Группа: Администратор
Сообщений: 2 071
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652





Цитата((-EDGE-) @ Сегодня, 15:37)
* Я от этого далек, но все же рискну спросить. А никто не пробовал портануть игра с n-gage? Там же тоже питон!

Нет, топовые игры для N-Gage не написаны на пайтоне.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
(-EDGE-)
сообщение 21.4.2014, 16:42


Интересующийся
**

Группа: Пользователи
Сообщений: 61
Регистрация: 29.3.2013
Пользователь №: 241 352
Модель телефона: E398, E2 and ZN5

Рейтинг: 5



Цитата(EXL @ 21.4.2014, 8:55) *

Цитата((-EDGE-) @ Сегодня, 15:37)
* Я от этого далек, но все же рискну спросить. А никто не пробовал портануть игра с n-gage? Там же тоже питон!

Нет, топовые игры для N-Gage не написаны на пайтоне.

Хм, ну а как же тогда такие игры как ashen, asphalt 1-2, tomb raider если мне память не изменяет то там без питона и sql либ хрен че запустишь. Ну и естественно нужна была сама прога типо эмуля n-gage

Сообщение отредактировал (-EDGE-) - 21.4.2014, 16:52
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Python 2.5 + pyGame 0.9.1, Собираем игры и программы на Python'е! · ZN5 · Forum
 

5 страниц V < 1 2 3 4 5 >
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 22.2.2020, 18:56

Форум живёт: