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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0609
ななandroidで端末の解像度を取得4未解決


なな

リンク

2015/6/9(Tue) 23:59:24|NO.69714

hsp3dishで作ったAndroidアプリを実機で動かす際に端末の解像度を取得する方法はありますか?
オートスケーリング機能で拡大させた場合、ginfo(21)などでは拡大後のサイズを取得できませんね?

小さいサイズで作ったアプリをオートスケーリング機能を使って拡大させた場合、フォントが荒くなってしまいます。
そこで、スケーリング前のアプリの幅や高さと、実機の幅や高さの割合を元に、フォントのサイズも同じ割合で変化さたいとおもっています。

フォントサイズだけ大きくなるとスケーリングで画面は拡大しても内部の処理は元々のサイズのままなので、
アプリを作る際にサイズや座標に使う数値は全て先の割合に応じて変動するように作っています。

似たような質問でcppファイルをいじってginfo命令に追加すればできそうな回答はあったのですが、実際どのようにcppファイルをいじればいいのかは書いてなかったので、どなたか実装出来てる方いませんか?



この記事に返信する


zakki

リンク

2015/6/10(Wed) 07:58:33|NO.69717

とりあえず自分で使う目的でしたら、hgio.cppとhgio.hに

int hgio_getSizeX( void ) { return _sizex; }
hsp3gr_dish.cppのint get_ginfo( int arg )に

case 64: return hgio_getSizeX();
みたいなの追加で取れそうな気がします。



なな

リンク

2015/6/10(Wed) 19:32:51|NO.69719

zakkiさん>

ありがとうございます。
hsp3gr_dish.cppとhgio.hに上記コードを追加。
hgio.cppがなかったので、hgiox.cpp(ついでにhgiox.hにも追加)になってしまいましたが言われたようなコードを追加してみましたが、ginfo(64)を実行してもPC上ではサポートされてない機能、Android上では強制修了となってしまいます。

む、難しい…



zakki

リンク

2015/6/10(Wed) 22:19:45|NO.69722

WebGL版だとこんな感じの変更で動いてます。
https://gist.github.com/zakki/929fe7408ab051fc323e

Androidはデフォルトだとコンパイル済みのlibhsp3lib.aが入ってますが修正反映されてますか?
Windows版はDirectX使った別実装なんでそもそもビルド通らないような。



なな

リンク

2015/6/11(Thu) 20:28:02|NO.69729

zakkiさん>

ありがとうございます。
修正するファイルと内容がわかりやすくて大変助かりました。

>Androidはデフォルトだとコンパイル済みのlibhsp3lib.aが入ってますが修正反映されてますか?
そうなんですね、cppファイルとか書き換えてhsp3helperで新規プロジェクトを作るだけで修正されると思っていました。

ということは、HPS3Dish自体をコンパイルできないと機能追加は無理ということなのですね…



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