ANDROID #deffuncの受け渡し変数を、その内の変数に一度落とす


2020年 6月 13日
 
 
 前のバグ修正の通り、#deffuncで変数を受け渡す時に、受け渡した変数をその #deffunc内で使うと、なぜか受け渡された変数の値も同時に変わってしまうという実機バグ(文字説明だと意味分からないな)

 test int nで nで変数を渡し

 #deffunc test int testnのように testnで受ける。
 
 
 そのソース内で

 #deffunc test int testn
  n=10

 のようにすると testnも 10に変わってしまう。

 PC等の通常起動では testnは nとは別扱いの変数なので変わったりしない。
 
 
  “ANDROID #deffuncの受け渡し変数を、その内の変数に一度落とす” の続きを読む

Hextrategy 画像ファイルの枚数を削減する、と転送エラー INSTALL_FAILED_INSUFFICIENT_STORAGE


2020年 6月 12日
 
 
 とりあえず画像の枚数を減らす改造からしてみる。

 ただ現在の ANDROIDが古い機種を切り捨てる仕様なら、もうあんまり意味は無いのかもしれない。

 ANDROID4.0.4の N05Dで 140枚上限なので、今はもうそんな古い機種を使ってるとも思えないし、以降の機種ではそれ以上読み込めると期待できるので、そんなに気にする必要は無いかもしれません。

 まず現在 Hextrategyで読み込んでる画像枚数は 174枚です。

 どういう風に枚数を削減するか考えましたけど、とりあえず「同じ大きさの画像フォーマットを合体させる」という事でやってみます。

 こんな風に同じ大きさの画像を 1枚にまとめます。

 これはエフェクト画像ですけど 1200 × 120ドットが 17枚あるので、まとめると 16枚削減できる訳です(画像の一番上間違ってる)
 
 
“Hextrategy 画像ファイルの枚数を削減する、と転送エラー INSTALL_FAILED_INSUFFICIENT_STORAGE” の続きを読む

ANDROID #deffuncジャンプ先で渡した値の変数を使うと値が変わってしまう


2020年 6月 6日
 
 
 バグ潰しをしてます。

 ダメージは入ってるけど表示は 0になる謎バグがあって追ってました。


 
 
 ソースに問題が無いのでサッパリ分かりませんでしたけど、原因はなんと

	if fs=1 : dmp_set n,3+et,cn ; ダメージ表示
	if fs=2 : dmp_set n,et,cn

 #deffuncのジャンプの時に値を渡しますけど、その変数を(この場合 n

#deffunc dmp_set int dmp_setn1,int dmp_setn2,int dmp_setn3 ; ダメージ表示セット
; 1=値、2=位置No.、3=カラー


	repeat 20 : n=cnt*6 ; フラグ
	 if dmp(dmp_setn)=0 : dmp(dmp_setn)=1 : break
	loop

	dmp(n+1)=dmp_setn1	; 値
	if dmp_setn2<=3 : dmp(n+2)=bcx1(dmp_setn2)	 ; x
	if dmp_setn2>=4 : dmp(n+2)=bcx2(dmp_setn2-3) ; x

	dmp(n+3)=btly1-30	; y
	dmp(n+4)=dmp_setn3	; カラー
	dmp(n+5)=25			; カウンター

 ジャンプ先でその変数をいじると、なぜか元の値も同時に変わってしまうという謎バグ。

 この場合ジャンプ元の nの値、ジャンプ先で一度 dmp_setn1に落とし込んでいるので、変数 nはフリーのはず。

 しかし nを n=cnt*6で再定義すると、なぜか dmp_setn1も再定義の n値になってしまうというもの。

 うーん、これは分からん。

 もちろん PC起動ではなりません、実機でなります。

 思うに ANDROIDでは #deffunc内の dmp_setn1値の参照が、元の n値を参照しろという構図になってるものと。
 
 
“ANDROID #deffuncジャンプ先で渡した値の変数を使うと値が変わってしまう” の続きを読む

検~証は続く~よど~こ~ま~で~も~♪ Part5、やっと内部テスト版公開の準備ができた


2020年 5月 29日
 
 
 まず前置きとして、自分はマーフィーの法則の次の言葉が好きです。

「どんなものでも長くいじっていると、そのうち動くようになる」

 今までほとんどこの言葉通りに唱えて実践してきました。

 才能のある人は別なんでしょうけど、凡人でもこの通りやれば難関でもなんとかなります。

 じわじわ取り組む事です。

 ただ仕事というのは大抵そんなもんではないかとも思います。

 これも引き篭もりニートだからできる事かもしれず、普通は時間に締め切りがあるので色々と難しいとは思います。
 
 
 今回のまとめ

1、HSP 351の Dishで gsel命令を使うと表示がおかしくなる。

2、Helper ver.1.72で無いと 64bit内包 .apkファイルが作られない、そのためアプリストアにアップロードできない、しかし原因は不明だが現時点ではそのファイルは古い機種で(?)インストールできない。
 
 
付録 1 Helper同封
 HSP34   1.0
 HSP35β  1.4
 HSP35β4a 1.41
 HSP351  1.6 
 HSP36β2  1.72
 
 
付録 2 ビルドテスト記録

APIの変更は新規プロジェクトでないとできない
NDKの変更はクリーンビルド時にできる

Helper 1.41 *推奨 API 17
 API 17 ○ NDK r12
 API 21 ○ NDK r12
 API 21 × NDK r14b

Helper 1.6 *推奨 API 21
 API 21 ○ NDK r14b
 API 22 ○ NDK r14b N05Dに転送可
 API 23 × NDK r14b
 API 23 × NDK r12
 API 24 × NDK r14b
 API 25 × NDK r14b

Helper 1.72 *推奨 API 29
(64bitバンドル.apkファイルに対応)

 API 21 ○ NDK r14b リリースビルドで.apkファイル作成されない N05Dに転送不可
 API 22 ○ NDK r14b リリースビルドで.apkファイル作成されない
 API 23 ○ NDK r14b リリースビルドで.apkファイル作成されない
 API 24 ○ NDK r14b リリースビルドで.apkファイル作成されない
 API 25 ○ NDK r14b
 API 26 ○ NDK r14b
 API 28 ○ NDK r14b

 API 29 ○ NDK r12  64bit版作成される
 API 29 ○ NDK r12b  64bit版作成される
 API 29 ○ NDK r14b 64bit版作成される N05Dに転送不可
 API 29 ○ NDK r17c 64bit版作成されず
 
 
AndroidManifest.xmlandroid:minSdkVersion=”18″(最低動作 API) 18と書かれている以上 API 15の N05Dで実行(転送)できるはずが無いという事でした。

 API 18以上でないとアプリストアにアップロードできないので API 17以下は切り捨てという事になるようです。

 という事は、試してませんけど Helper1.72でも AndroidManifest.xmlの android:minSdkVersion=”18″を低く設定すれば N05Dでも実機転送できる可能性があると思います)
 
 
 それでは続きです。
 
 
“検~証は続く~よど~こ~ま~で~も~♪ Part5、やっと内部テスト版公開の準備ができた” の続きを読む

内部テスト版リリースを試みる Part4、HSPDish Helper ver.1.72を使って 64bit版(内包).APKファイルをビルドする


2020年 5月 24日
 
 
 今回は HSP3.6β2をダウンロードしてビルドし、アプリコンソールにきちんとアップロードできるかやってみます。

 おにたま(オニオンソフト)のおぼえがき HSP3.6β2を公開しました
 
 
 今回も内容が混沌としているので始めに要点を書きます。

1、64bit版(内包).APKファイルをビルドするには、現時点では HSP3.6β2の HSPDish Helper ver.1.72を使います。

2、その最に現時点では NDK r14bを使います。

3、なぜか Helper ver.1.72では AndroidManifest.xmlのパッケージネーム(package=)を書き換えるとビルドできなくなる。
 そこで、その場合は Helperの新規作成パッケージ名欄に、アプリコンソールの指定の名前(始めにアップロードしたパッケージ名)を書きます。

4、なぜかバージョンコード(versionCode=)は書き換えてもビルドできます。

5、AndroidManifest.xmlはプロジェクトフォルダとその中の binファルダに 2つあるので、書き換えはプロジェクトフォルダのを書き換えます。

6、Helper ver.1.72では .dpmファイル(データパック)は使えません、なぜか自分の場合は .apkファイルの容量が増えるという謎バグでしたけど。
 データは全部 assetsフォルダに放り込みます。

7、Android App Bundle警告は無視しても公開はできます、要するにエラーが無ければ大丈夫みたいです。

8、この状況で API 24以下でリリースビルドすると .APKファイルが生成されない。
 APIの変更は新規作成でないとできないらしい。
 
 
 すべて「現時点では」という事になると思います。
 
 
“内部テスト版リリースを試みる Part4、HSPDish Helper ver.1.72を使って 64bit版(内包).APKファイルをビルドする” の続きを読む

HSPDish Helper 署名のための証明書 .keystoreファイルの作成と ANDROIDアプリのリリースビルド


2020年 5月 9日
 
 
 あ~あ、風邪引いちまったよ、コロナかどうかは分からないけど。

 熱が37°くらい、筋肉が少し痛くて疲れてるのかなくらいで、鼻水も咳も出ないし変な風邪だよな、これはたしかに仕事行くな。

 でも 1日で熱下がったみたいだし、普通の風邪の可能性もある。

 いずれにしても念のため数日は部屋を出ないようにするけど、引き篭りの生活ってあんまり変わらないんだよな、こうして仕事もできるし、いつも通りって言えばいつも通り。
 
 
 今回はアプリ署名のための証明書(.keystore)ファイルの作成と、ANDROIDアプリのリリースビルドをします。

 なんと自分は始めてします。

 今回参考にするサイトは『しまくろねこ』のホームページ2号店さんです。

 いやあ、自分の混沌としたブログと違って分かりやすいですね、ははは。

 以下今回やる事を、しまくろねこさんの解説の言葉をそのままお借りして書きます、分かりやすいので。
 
 
1、HSP3Dish Helperで署名のための証明書(keystore)ファイルを作成する

2、HSP3Dish Helperリリースビルドを行なう

3、ブラウザから Android Developer ConsoleにアクセスしてAPKファイルをアップロードする

 3は次回の記事でやります。
 
 
“HSPDish Helper 署名のための証明書 .keystoreファイルの作成と ANDROIDアプリのリリースビルド” の続きを読む

HSPDishによるANDROIDビルドとスマホ実機テストの問題点まとめ


2020年 5月 8日
 
 
 ビルドと実機テストはレポート形式だったため、かなりカオス(混沌)だったと思いますので、まとめを書きます。

 今回 MZKさんのコメントでの助言が、かなり的を射ていたようです。

1、画像ファイルは ANDROIDの機種依存で読み込める枚数が決まっている
 そこで、なるべく 1ファイルに複数の画像をまとめる。
 N05D(ANDROID Ver4.0.4)で 140枚あまり、SO-02K(Ver9)で 170枚以上読み込み可能でした。

2、音声ファイルの読み込みは 30個までなので、BGMは 0番固定で都度読み込みにする。
 SEは番号を使いまわす。

3、#deffuncの挙動が HSPと ANDROIDで違う場合がある。
 ネスト(ルーチン読み出し)はなるべく深くならないようにする。
 
 
“HSPDishによるANDROIDビルドとスマホ実機テストの問題点まとめ” の続きを読む

Hextrategy 実機テスト Pert4、ファイル制限以外は動くようになった


2020年 5月 5日
 
 
5月 3日

 続き。

 まず double内の配列変数の番号に足し算してる箇所の修正。

 こんな感じ。

 全部で 20数箇所くらいあった。

 修正して PCで実行テスト、動いてはいるがどんなバグが新たに発生してるやら・・・。

 それではビルドして転送してスマホで実行。

 動くこいつ動くぞ、て感じでした、はあ。


 
 
“Hextrategy 実機テスト Pert4、ファイル制限以外は動くようになった” の続きを読む

Hextrategy 実機テスト Pert3、やっと少し動いたよ


2020年 5月 2日
 
 
5月 1日

 あ~あ 5月になっちまったよ。

 どんなものでもそうだけど、見るの(予想)とやるのでは全然違うので、開発には想定外の困難が付きまとうのが常で簡単にはいかないし、作業の進捗(しんちょく)はまるでカタツムリのようにいつも感じます。

 このゲームの開発でもずっとそうだったけど、これだけのゲームを作るのさえほんとに難しくて、もう 3年になる訳です。

 「予算も時間も想定の 2倍を考えておけ」とは言われる。

 もちろんニートである自分はほんとに才能も無いし要領も悪い。

 以上、壁にぶち当たった時のいつもの愚痴でした。
 
 
“Hextrategy 実機テスト Pert3、やっと少し動いたよ” の続きを読む

Hextrategy 実機テスト Pert2と、エクスペリアSO-02KのPCへの接続の仕方


2020年 5月 1日
 
 
 実機テスト続き。

4月 29日

 もう一つのスマホ、エクスペリア SO-02Kでテストしてみる。

 まずアンドロイドバージョン 9はセキュリティが厳重で PCと接続してアプリを転送するのが大変だった。

 その前にまずスマホのスクリーンショッとの取り方について。

 いつもの方法だとスクリーンショットが取れないのでググると、エクスペリアはスマホの電源の長押しでシャットダウン等の項目の一番下にスクリーンショットの項目があって、これで取れる。
 
 
“Hextrategy 実機テスト Pert2と、エクスペリアSO-02KのPCへの接続の仕方” の続きを読む