反動のヴァナ日記&ゲーム日記

2015年8月よりプレイ中のFinalFantasyXIのプレイ&日々プレイしたゲーム日記

【Luarida】Android端末上で簡易的なアプリの開発ができる!

LuaridaはAndroidの端末上で簡単にアプリが作れちゃうツールです。
適当なテキストエディタなどでプログラムを書いて、そのまま実行出来ちゃいます。
ベース言語は「Lua」です、この言語は前から気になっていたのでちょっと調べていたのですがまさかここでそれが役に立つとは。。と言っても、ちょっと調べただけで全くそれでなにか作った経験が有るというわけじゃないので、リファレンスを見ながら弄っています。

Luaridaはこちらのページのたろサさんが開発されています、バージョンアップはかなりのペースでされています。
http://d.hatena.ne.jp/tarosay/
また、要望なども気軽にということですので欲しい命令があったら連絡してみると良いかも^^
俺はメインでGalaxyTabのカスタムROM「Overcom1.1.3」でOCして1.4Gで動作させているのですが非常に高速です。
DesireでもCM6の1.113Ghzで動作させてみましたが、GalaxyTabよりは劣るもののいい感じで動いています。

簡単に導入とサンプルプログラムでも書いてみようと思います。

まずは、マーケットにてLuaridaを検索しインストールします。
サンプルソースなどもマーケットに用意されていますが、本体を探して間違えずにインストールしてください。

次にテキストエディタをインストールするわけですが、アストロをインストールしてあるのであれば何を使っても大丈夫だと思います。
アストロ自体に拡張子「lua」を登録してしまえば、アストロからLuarida本体やテキストエディタに直接ファイルを送信できるからです。

アストロの設定方法は、menu→more→環境設定→ファイル拡張子を編集
新しい拡張を選択し、拡張子にluaと入力、MIMEタイプはTEXT、サブタイプはlua、右上の四角でお好みのアイコンを設定します。そして保存。
これでアストロ上から拡張子luaのファイルをタップすると、テキストエディタとLuaridaの選択が出ます。

もう一つの方法は、Jota Text Editorを使う方法です。
こちらではエディタ上から直接Luaridaを呼び出すことができます。
menu→設定→送信先アプリ設定で開くを選択、操作の選択で出てきた一覧からLuaridaを選びます。
これでエディタ上でmenuを押下するとメニューにLuaridaのボタンが出来ますのでそれで起動できます。
このアプリではプログラムにエラーが合った場合、エラー行にカーソルが表示されてくれます。
エラーになった時や停止させた時にアプリを選択するようにメニューが出るので、Jota をいつも使うにチェックを入れて選択してください。

以上で簡単ですが、環境が整いました。

初めて作ったアプリですが以下にサンプルを置いておきます。
無駄がいっぱいありますが、ツッコミは受け付けませんw
たとえば、main関数に擦る必要はないだろうし、中で登録している変数はlocal宣言しなくても問題ないはずです。
してないのもあるし。



function main()
local w,h = canvas.getviewSize()
local bx = {}
local by = {}
local bxp = {}
local byp = {}
local blflag = {}
local blsize = 16
local x,y,b = 0,0,0
local psize = w/8
local px,py = w/2,h-30
for i=1,5 do
       bx[i],by[i],bxp[i],byp[i],blflag[i] = 0,0,0,0,0
end
blflag[1] = 1
local ball = 1
local sc,cnt = 0,0
local psec = system.getSec()
canvas.drawText("touch start",w/3,h/2,64,color(255,255,255))
touch(3)
----main loop start
while (true) do
-- time
tm = (system.getSec() - psec)
mat = 60 - string.match(tm,"%w+")
if (mat == 0) then
    dialog("Game Over","SCORE : " .. sc,1)
    system.exit()
end
-- ball on
if (blflag[(cnt / 10 + 1)] == 0) then
    blflag[(cnt / 10 + 1)] = 1
end
for i=1,5 do
   if (blflag[i] == 1) then
       bx[i],by[i],bxp[i],byp[i],blflag[i] = 20,20,12,12,2
    end
end
-- touch
x,y,b = touch()
if (b == 2) then
    px = x
end
canvas.putCls(color(0,0,0))
score  = "SCORE:" .. sc
canvas.putText(score,0,0,32,color(255,255,255))
canvas.putText(mat,w/2,0,32,color(255,255,255))
for i=1,5 do
if (blflag[i] == 2) then
if ( (bx[i] > ( w - blsize )) or ( bx[i] < blsize ) ) then
    bxp[i] = bxp[i] * -1
elseif ( by[i] < 0) then
    byp[i] = byp[i] * -1
elseif ( by[i] > h + blsize ) then
    bxp[i],byp[i] = 12,12
    bx[i],by[i] = math.random(20,w-20),20
elseif (( bx[i] > px - psize) and (bx[i] < px + psize) and (by[i] <
h-20)
and (by[i] > h - 40 )
) then
    if ( bx[i] < px - ( psize * 0.5 ) ) then
        bxp[i] = bxp[i] - 10
    elseif (bx[i] >= px + ( psize * 0.5 ) ) then
        bxp[i] = bxp[i] + 10
    else
        if (bxp[i] > 0) then
            bxp[i] = 12
        else
            bxp[i] = -12
        end
    end
    byp[i] = byp[i] * -1
    sc = sc + math.abs(bxp[i])
    cnt = cnt + 1
end
bx[i] = bx[i] + bxp[i]
by[i] = by[i] + byp[i]
canvas.putCircle( bx[i],by[i],blsize,color(255,255,255) )
end
end
canvas.putRect(px - psize,h-40,px + psize,h-20,color(255,255,255),1)
canvas.putflush()
end
end
main()


60秒間パドルでボールを弾き返すだけのゲームです。
パドルはタッチで操作します。パドルの端にボールが当たると鋭角に反射します。
ボールを反射させると得点が入りますが、鋭角になればなるほど高得点になります。。
1500点以上を目指してください~
とはいえ、端末の性能により速度が変わってしまうので得点も変わってきてしまうと思います。

また、なにかゲームを作ったらココにソースを載せようと思います。
ちなみに、画像や音データを使えばそれらも使えますが、あえてソースのみで完結するものだけを作る予定です。(掲示板で簡単にアプリを公開できますので)




スポンサーサイト
  1. 2011/02/27(日) 22:23:27|
  2. | トラックバック:0
  3. | コメント:0
<<【Luarida】オリジナルゲーム「覚えたか?」紹介 | ホーム | GalaxyTabでBluetoothキーボード使うなう>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://handomadex.blog.fc2.com/tb.php/93-5868d3ff
この記事にトラックバックする(FC2ブログユーザー)

閲覧者数

現在の閲覧者数:

訪問数

プロフィール

ヴァナ時計

最新記事

カテゴリ

FF11 (143)
FF11でJoytokey (7)
FF11自分用φ(`д´)メモメモ... (1)
未分類 (1)
雑談その他 (8)
(137)
EQ2 (1)
FFXIXHB (1)
GPD WIN (0)
FF15 (1)
DQ11 (2)

最新コメント

ランキング

記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR