HSP3dishで4枚目にロードした画像から白くなる
ocky 2013/6/29(Sat) 15:33:06|NO.55332
HSP3dishでの質問です。
celload "画像1.png",1
celload "画像2.png",2
celload "画像3.png",3
celload "画像4.png",4
celload "画像5.png",5
celload "画像6.png",6
celput 1
celput 2
celput 3
//ここから画像が白くなって表示される
celput 4
celput 5
celput 6
(いろいろ省略しています)
実機では4枚目から画像が表示されるところが白くなります。
パソコンでは普通に表示されます。
Logcatでエラーはありません。
何が原因かわかりません。助けてさい!
エル 2013/6/29(Sat) 19:57:14|NO.55334
私も同じ現象起きたことがあります。
読み込む順番を変えても最初の3つまでは読み込めたのですが
それ以降が表示できませんでしたね。
推測ですが仮想ウィンドウの数に制限があるような感じがしました。
なので画像を一つにまとめて座標指定して読み込ませるとうまくいきましたよ。
しまくろねこ(おにいさん) 2013/6/29(Sat) 21:18:10|NO.55337
ockyさんこんにちわ。
私の環境(HSP3.4β1)では、以前にテストとして作成したアプリですが、celloadでウィンドウIDを1〜9まで使用しても正常に表示されています。
また、下記のソースを実機で実行した場合、"画像1.png"〜"画像6.png"の画像が白くなることなく正常に表示されるでしょうか?
#include "hsp3dish.as"
celload "画像1.png", 1, 0
celload "画像2.png", 2, 0
celload "画像3.png", 3, 0
celload "画像4.png", 4, 0
celload "画像5.png", 5, 0
celload "画像6.png", 6, 0
redraw 0
color 0, 0, 0 : boxf
gmode 0
repeat 6
c = cnt * 50
pos c, c : celput cnt + 1
loop
redraw 1
stop
ocky 2013/6/29(Sat) 22:29:50|NO.55339
エルさん、しまくろねこさん返信ありがとうございます。
しまくろねこさんのソースを実機で試してみましたがだめでした。
エルさんの画像をまとめる方法もやりましたが、
画像を変更するのが、いろいろ大変なので最終手段にします。
原因はなんなんだー!!!(@ω@)
しまくろねこ(おにいさん) 2013/6/29(Sat) 23:31:18|NO.55340
>ockyさん
駄目でしたか。お力になれず申し訳ないです。
もう少し原因を調べたいと思いますので以下について教えてください。
使用しているHSPのバージョンはいくつでしょうか?
また、白く表示されてしまう画像ファイルの大きさ(縦横)はどのくらいでしょうか?
ocky 2013/6/30(Sun) 11:22:43|NO.55350
しまくろねこさん
バージョンはHSP3.4β1で、
画像は読み込む順番を変えたら、読み込んだ順番に3枚目までは表示されます。
なので、画像のサイズは関係ないかなーと。。
ちなみにOSはWindows Vistaです。
自分もがんばって調べます。
しまくろねこ(おにいさん) 2013/6/30(Sun) 19:06:06|NO.55384
こんにちわ。
ockyさんが今作られているアプリ内でcelloadにより読み込んでいる画像ファイルの名前について教えてください。
例として"画像1.png"〜"画像6.png"を記述していると思われますが、実際に"画像1.png"〜"画像6.png"で実機で実行すると、実機ではファイル名に全角文字を利用できないようなので、celload "画像1.png"で落ちてしまいます。
また、画像ファイルをdpmファイルに含めている場合、ファイル名は拡張子(.png)を除いて11文字までが有効となります。
画像の大きさを聞いたのは、celload/picload命令で読み込む画像の大きさ(縦横)が2048を超える場合正しく扱えない機種もあるとのことみたいです。
私の実機(Android2.3)だと下記では画像は白くならずに全て正常に表示されました。
#include "hsp3dish.as"
celload "gazou1.png", 1, 0 ; 320 * 480 (24bit)
celload "gazou2.png", 2, 0 ; 320 * 480 (24bit)
celload "gazou3.png", 3, 0 ; 320 * 480 (24bit)
celload "gazou4.png", 4, 0 ; 3000 * 3000 (24bit) わざと2048を超える大きさの画像を読み込んでみる
celload "gazou5.png", 5, 0 ; 320 * 480 (24bit)
celload "gazou6.png", 6, 0 ; 320 * 480 (24bit)
redraw 0
color 0, 0, 0 : boxf
repeat 6
c = cnt * 50
pos c, c : celput cnt + 1
loop
redraw 1
stop
celloadの読み込む順番を変えても4枚目以降が白くなるとのことのようなので、下記のようにcelloadで読み込んだ直後に表示するサンプルを実機で動かした場合、"gazou4.png"以降は表示されるでしょうか?(※"gazou1.png"〜"gazou3.png"はわざとコメントアウトします)
#include "hsp3dish.as"
/*
wid = 1
celload "gazou1.png", wid, 0
gosub *c_put
wid = 2
celload "gazou2.png", wid, 0
gosub *c_put
wid = 3
celload "gazou3.png", wid, 0
gosub *c_put
*/
wid = 4
celload "gazou4.png", wid, 0
gosub *c_put
wid = 5
celload "gazou5.png", wid, 0
gosub *c_put
wid = 6
celload "gazou6.png", wid, 0
gosub *c_put
stop
*c_put
redraw 0
color 0, 0, 0 : boxf
pos 0, 0 : celput wid
redraw 1
wait 200
return
ocky 2013/7/3(Wed) 15:25:00|NO.55464
しまくろねこさん
下のソースで表示はできました。
やっぱり、コメントアウト消すと表示はできません><