たろサです。
こんにちは。
River Rescueですが、私のXPERIAだけの症状かもしれませんが、最初、川に入
るときに、左に5キャラ分くらいズレて、岩にぶつかると、船がクルクル回る場
所が右に5キャラ分くらいズレます。
もし、LifeTouch NOTEで正常に動いているのであれば、Luaridaのバグかもし
れません。よければ、状況を教えてください。
よろしくお願いします。
--
山本三七男 (Minao Yamamoto) ---------------- ハンドル:たろサ -----
E-Mail: taro...@gmail.com
> 実は固定幅フォントを期待した作りになっています。
> 最初はそうならないように細かく座標を指定したのですが、
> 描画速度が得られなかったので、あきらめてしまいました。
描画速度・・すいません。
Androidって、機種によって標準フォントが違うんでしょうか?固定フォントとというのは、余り気にしていませんでした。
下記が、私が普段使うスクロールプログラムです。ご参考になれば。
draw系命令は内部でputflushするので、draw系命令を最後に入れると、putflushが省略できます。
------------------------------------------
--スクロールするテキスト表示
-- 文字, サイズ, 色, 背景色
------------------------------------------
function print(...)
local t={...}
local str = t[1]
if( str==nil )then str = "" end
local fontsize = t[2]
if( fontsize==nil )then fontsize = 18 end
local fcolor = t[3]
if( fcolor==nil )then fcolor = color(0,0,0) end
local bcolor = t[4]
if( bcolor==nil )then bcolor = color(255,255,255) end
--一度、見えないところにテキストを書いて、改行数を求める
local sc = canvas.putTextBox( str, 0, Gheight+1, fontsize, fcolor, Gwide )
--画面の絵をワークエリアに取り込みます
canvas.getg( 0, fontsize*sc, Gwide-1, Gheight-1, 0, fontsize*sc, Gwide-1, Gheight-1 )
--取り込んだ画面をY座標をずらして描き戻します。
canvas.putg( 0, 0, Gwide-1, Gheight-fontsize*sc-1, 0, fontsize*sc, Gwide-1, Gheight-1 )
--書き出す部分をバックカラーで塗り潰します
canvas.putRect( 0, Gheight-fontsize*sc-1, Gwide, Gheight, bcolor, 1 )
--スクロールしたところにテキストを書きます
canvas.drawTextBox( str, 0, Gheight-fontsize*sc, fontsize, fcolor, Gwide )
end
> 当初まさか公開するとは考えていなかったので、
> エイヤで作っちゃったのがいけなかったですね。
> 明らかな手抜きです。
いえいえ、公開していただいてありがとうございます。
--
そういえばAndroidのフォント切り替えはメーカカスタムなので、標準フォントを期待・・・は期待はずれになると思います。
IS01もSharpが独自に差し替えててAndroidアプリでもレイアウトで文字がはみ出したりします。
2011年9月24日12:03 たろサ <taro...@gmail.com>:
> --
> このグループにメールで投稿: luarida-...@googlegroups.com
> このグループから退会する: luarida-fun-cl...@googlegroups.com
> その他のオプションについては、次の URL からグループにアクセスしてくださ
> い。 http://groups.google.com/group/luarida-fun-club?hl=ja?hl=ja
>
(2011/09/24 10:35), AXIS wrote:
> たろサさん
>
> 折角ブログのほうに大々的に(?)ご紹介いただいたのに取り下げるのも
> これまた失礼と思い直し、暫定対応版を上げ直しました。
> といってもキャラを差し替えただけです(笑)。スミマセン。
> 少なくともXPERIAではマシになったのではないでしょうか・・・?
おお、感動です。こんな動きだったのですね。
今まで、船がずっと左右にブレながら走っていました。これは意図した動きで
はなかったのですね。フォントピッチズレのせいで船が左右ブレしていたのですね。
何かすごくゲームが簡単になった気がします。
すいません、ブログもいったん取り下げてもいいですが、どうしましょうか。
嬉しくて、つい、ブログに書いてしまいました。
> LifeTouch NOTEでは確認のしようがないので、
> ご確認いただけると幸いです。
>
> しかし、河岸が見づらくなったので難易度が上がったかも知れません。
> 大体1000点前後の争いになるかなあと思っているのですが。。。
>
1000点は難しいです。
XPERIAの画面を添付しました。
いろいろとお手数をおかけしまして、すいませんでした。
描画が多少速くならないかと、失礼ながらソースをいじってみました。
repeat
psec=system.getSec()+0.04
--canvas.putRect(0,0,559,15,color(0,32,96),1)
...省略
-- for vy=1,30,1 do
-- line=""
-- for vx=1,35,1 do
-- line=line..vram[vx][vy]
-- end
-- canvas.putText(line,0,(vy-1)*16,16,color(146,208,80))
-- end
canvas.getg( 0, 0, 559, 479-16, 0, 0, 559, 479-16 )
canvas.putg( 0, 16, 559, 479, 0, 0, 559, 479-16 )
canvas.putRect(0,0,559,15,color(0,32,96),1)
line=""
for vx=1,35,1 do line=line..vram[vx][1] end
canvas.putText(line,0,0,16,color(146,208,80))
line=""
for vx=1,35,1 do line=line..vram[vx][21] end
canvas.putText(line,0,20*16,16,color(146,208,80))
line=""
for vx=1,35,1 do line=line..vram[vx][22] end
canvas.putText(line,0,21*16,16,color(146,208,80))
...省略
canvas.drawText(string.format("%6d",score),560,16,20,color(255,255,255))
...省略
--canvas.putflush()
while psec>system.getSec() do
--Wait 40ms
end
until gameover==1
とりあえず、putText()が3回になりました。
文字だからこれだけ速く動くんですね。
逆に、文字だとこんなに速く動くって考えて無かったです。
グラフィックでやろうとすると、putの回数が増えるので遅くなりますね。
勉強になります。
忘れていました。
--initialize
system.setScreen(0)
canvas.setMainBmp(640,480)
canvas.setWorkBmp(640,480) --追加しました