Показать сообщение отдельно
Старый 10.02.2014, 13:28   #10
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Tetra[M]aster Release

Нижесказанное относится к версии 64.

Вставляя функцию OpenURL я пришёл к тому, чтобы встроить её в стандартный модуль app. туда же перенёс функцию GetLocale, теперь javafunc не нужен.
Что нужно для использования:
- заменить файл MONKEY\modules\mojo\app.monkey на одноимённый из аттача
- аналогично заменить файл MONKEY\modules\mojo\native\mojo.android.java

Для GetLocale добавил параметр - локаль по умолчанию, её функция вернёт если таргет <> android (по умолчанию пустая строка "").
Функция OpenURL работает только для андроида, для других не делает ничего.

Я сделал примерчик использования этих двух функций: вывод на экран кнопки КУПИТЬ для русской локали, либо кнопки BUY для английской, плюс при нажатии на кнопку открываем страницу tetreMasterHD.

Strict

Import mojo.app
Import mojo.graphics
Import mojo.input
Import monkey.math

Function Main:Int()
    New Game()
    Return 0
End

Class Game Extends App
	Field locale$
	Field img:Image
	Field scaleFix#=3, rot#, scale#
    '#
    Method OnCreate:Int()
    	locale = GetLocale("ru")
		img = LoadImage(locale+"/buy.png")
        SetUpdateRate(30)
        Return 0
    End
    '#
    Method OnLoading:Int()
        Return 0
    End
    '#
    Method OnUpdate:Int()
    	Local tx% = TouchX(0), ty% = TouchY(0)
    	Local iw% = img.Width()*scale
    	Local ih% = img.Height()*scale
    	Local ix% = (DeviceWidth()-iw)/2
    	Local iy% = (DeviceHeight()-ih)/2
    	
    	If(TouchHit(0) > 0 And tx > ix And tx < ix+iw And ty > iy And ty < iy+ih)
    		OpenURL("market://details?id=com.tetramasterHDv3")
    	Endif
    	If(KeyHit(KEY_ESCAPE)) Then Error ""
    	rot += 1
        Return 0
    End
    '#
    Method OnRender:Int()
        Cls(30,30,30)
        scale = scaleFix+Abs(Cos(rot))
		DrawImage(img,(DeviceWidth()-img.Width()*scale)/2,(DeviceHeight()-img.Height()*scale)/2, 0, scale, scale)
        Return 0
    End
End

В аттаче файлы для замены и папка с примером, описанным выше.
Думаю, неплохо бы вынести это в отдельный раздел "Полезные функции".
Вложения
Тип файла: 7z external_android.7z (13.7 Кб, 562 просмотров)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Данил (10.02.2014)