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 874
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4600



Компиляция 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'ы, примеры скриптов
Прикрепленный файл python-cross-compile.7z   ( 1.87 килобайт ) Кол-во скачиваний: 705
Прикрепленный файл python.7z   ( 1.59 мегабайт ) Кол-во скачиваний: 954
Прикрепленный файл Python-2.2.1.tgz.7z   ( 6.23 мегабайт ) Кол-во скачиваний: 1497
Прикрепленный файл test.7z   ( 4.77 килобайт ) Кол-во скачиваний: 703
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 2.2.2011, 7:22


Rock The Microphone
********

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

Рейтинг: 4600



Не знаю что за проблема. Как вариант, можно попробовать удалить полностью папку 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

Назначение: Стрелялка на время
Автор: Yasuaki Gohko (gony)
Портировал на ZN5: Hairo
Язык: English
Дополнительно: Спасибо автору, он помог мне немного с информацие по коду...
Управление:
Джойстик - Движение.
Громкость "+" - Огонь.
Громкость "-" - Лазерный луч.
Красная трубка - Выход.
Скриншоты приложения:
Прикрепленное изображение

Имена установочных пакетов и файлов в общем архиве | зеркало | зеркало на Yandex.Disk (2.4 GiB, md5sum: 3624b858a4a053a534f0a2f4071bcacc):Прикреплённые файлы:
Прикрепленный файл shippugss.mgx   ( 1.23 мегабайт ) Кол-во скачиваний: 391
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
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-информации у *.jpg файлов при использовании библиотеки EXIF.py на Python
Автор: Gene Cash (библиотека EXIF.py), Hairo (приложение на её основе)
Источник: www.ModMyMobile.сom
Портировал на ZN5: Hairo
Язык: Русский, English, Español (названия EXIF-тегов на английском)
Дополнительно: Спасибо Gene Cash за библитеку EXIF, написанную на Python. Для работы приложение необходимо окружение SDL и Python.
Скриншоты приложения:
Прикрепленное изображение Прикрепленное изображение

Имена установочных пакетов и файлов в общем архиве | зеркало | зеркало на Yandex.Disk (2.4 GiB, md5sum: 3624b858a4a053a534f0a2f4071bcacc):
  1. ZN5/Apps/EXIF.mgx (39.0 KiB)
Прикреплённые файлы:
Прикрепленный файл EXIF.mgx   ( 39.04 килобайт ) Кол-во скачиваний: 338
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
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

Назначение: Простой просмотрщик свободного места на диске
Автор: Carlos Galisteo
Портировал на ZN5: Hairo
Язык: English
Дополнительно: Порт с портативной консоли GP2X.
Скриншоты приложения:
Прикрепленное изображение

Имена установочных пакетов и файлов в общем архиве | зеркало | зеркало на Yandex.Disk (2.4 GiB, md5sum: 3624b858a4a053a534f0a2f4071bcacc):
  1. ZN5/Apps/pyDiskUsage.mgx (65.0 KiB)
Прикреплённые файлы:
Прикрепленный файл pyDiskUsage.mgx   ( 65.01 килобайт ) Кол-во скачиваний: 396
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
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

Назначение: Пятнашки
Автор: Barnesy
Портировал на ZN5: Hairo
Язык: English
Дополнительно: Управление:
Джойстик, "4", "8", "6", "2" - Движение.
Центр джойстика или клавиша камеры - Игровое меню.
Красная трубка - Выход.
Скриншоты приложения:
Прикрепленное изображение

Имена установочных пакетов и файлов в общем архиве | зеркало | зеркало на Yandex.Disk (2.4 GiB, md5sum: 3624b858a4a053a534f0a2f4071bcacc):
  1. ZN5/Games/pySlide.mgx (6.4 KiB)
Прикреплённые файлы:
Прикрепленный файл pySlide.mgx   ( 6.45 килобайт ) Кол-во скачиваний: 396
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
XXX_S_B
сообщение 28.2.2011, 13:24


Мотофан
*******

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

Рейтинг: 1019



14. RedGiant

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

Имена установочных пакетов и файлов в общем архиве | зеркало | зеркало на Yandex.Disk (2.4 GiB, md5sum: 3624b858a4a053a534f0a2f4071bcacc):
  1. ZN5/Games/RedGiant.mgx (173.2 KiB, старая версия)
  2. ZN5/Games/RedGiant_new.mgx (214.5 KiB, новая версия)
Прикреплённые файлы:
Прикрепленный файл RedGiant.mgx   ( 173.18 килобайт ) Кол-во скачиваний: 383
Прикрепленный файл RedGiant_new.mgx   ( 214.51 килобайт ) Кол-во скачиваний: 91
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
(-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 874
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4600



Цитата((-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'е! · Motorola ZINE ZN5, ZN5 T-Mobile · Forum
 

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

 



Текстовая версия Сейчас: 28.3.2024, 23:50

Форум живёт: