HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
1006
ZAPHSP3Dish→Android実機用ビルド時の不具合について3未解決


ZAP

リンク

2012/10/6(Sat) 17:17:01|NO.49814

HSP3Dishでコンテストに出品させて頂いたのですが、そのソフトを
HSPDish Helperを使ってAndroid実機用にビルドすると、下記の不具合が発生しました。

1)自動拡大時のタッチ認識座標のズレ

「HSP3Dish android(NDK)版プログラミングガイド」の
「12.画面サイズのスケーリングについて」に記載の方法を用いてビルドすると、
Android実機で画面の自動拡大はなされるのですが、表示位置を自動でセンタリングする
関係なのか、タップを認識する座標がずれます。

当方でビルドしたソースで具体的に説明しますと、
ゲーム中、値を入力したいセルをタッチするとカーソルがそのセルに移動する仕様なのですが、
そのセルの下半分から一つ下のセルの上半分くらいをタッチしないと認識しないのです。
その他のボタン類も同様に、タッチを認識する座標が若干、下にずれています。
ゲーム画面のサイズの関係で縦方向に余白が発生することと関係があるのでしょうか?
横方向は、余白がない状態まで拡大されており、座標のズレは発生していません。

もちろん、自動拡大なしでビルドしたものについては、この現象は発生しません。


2)特定機種における画像表示の不具合

Panasonic P-05D(Disney mobileモデル)で動かすと、一部の画像が真っ白(トウフ)になります。
当方で動かした他の動作環境(Xperia、AQUOS PHONE f SH-13C、GALAXY Note)では発生しなかったので、
機種ごとの相性の問題なのかも知れませんが、念のため報告しておきます。


ビルドに使用したソースは、当方が作成したコンテストNo.133「ナンプレ一期一会」です。
同梱のソースファイルとdata.dpm、exeと同じ階層にある2つのwavファイルがあればビルドできます。

もし、検証いただけるのであれば、御確認頂けるとありがたいです。



この記事に返信する


ZAP

リンク

2012/10/6(Sat) 19:22:30|NO.49822

補足します。

当方のビルド環境はWindowsXP Professional、
HSPのバージョンは3.31rc1ですが、3.31でビルドしても挙動は同じでした。
動作検証に使用したスマートフォンの実機は全てNTT docomoの機種です。



gluck

リンク

2012/11/2(Fri) 02:11:42|NO.50412

ZAPさんの「1)自動拡大時のタッチ認識座標のズレ」について、
同様の現象をXperia acro HD(SO-03D)で確認しました。
私の見解もZAPさんと同じで、上下の余白が関係しているのではないかと思っております。
(当方が作製したアプリ及び事務局が変換したアプリで確認)

HSP3Dishがバージョンアップするまでは、Configメニューを作って、
画面位置の補正をユーザーにさせる方法を取るしか手が無さそうです。
(HSPプログラム上では解決が難しそうです。)



おにたま(管理人)

リンク

2012/11/5(Mon) 23:31:20|NO.50504

HSP3Dishについてのご報告ありがとうございます。

>1)自動拡大時のタッチ認識座標のズレ

については、こちらでも確認しました。
次回のアップデート時には、修正させて頂きます。
現状で修正を確認したい場合は、jni/hsp3/ndk/hgiox.cpp、1635行目付近にあるソース


void hgio_touch( int xx, int yy, int button ) { Bmscr *bm; mouse_x = xx * _rateX - _originX; mouse_y = yy * _rateY - _originY;

のmouse_x、mouse_yを求める行を以下のように修正して試してみてください。


mouse_x = ( xx - _originX ) * _rateX; mouse_y = ( yy - _originY ) * _rateY;

>2)特定機種における画像表示の不具合

こちらについては、こちらでまだ確認できておりません。
白くなる画像のサイズや種類など、不具合が発生する条件などがわかれば、またご報告頂けると助かります。



ONION software Copyright 1997-2018(c) All rights reserved.