アイコン
絵文字・動画
(投稿前に内容を確認)
 
 

メッセージボックスについて

こんばんは、いつも世話になります。
ところで3dishでは、mesboxやinputが使用でいないようですが、みなさんはどうのような工夫をされているんでしょうか?
  • メタボリック珍獣
  • 2017/04/18 (Tue) 21:37:09

Re: メッセージボックスについて

こんにちは。

どうなんでしょうね?
私が見たのは、キャラクターの名前を入力する方法として
ひらがな、カタカナ、数字、アルファベット、記号をそれぞれマス目上に配置して、タップされた文字をキャラクター名にするといった方法でした。

テキストボックスのように自由に文字を入力できて漢字等に変換するといったことは現在のDishでは難しいと思います。
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/18 (Tue) 23:45:08

Re: メッセージボックスについて

そうなんですね...ありがとうございます。
  • メタボリック珍獣
  • 2017/04/19 (Wed) 20:56:32
 

画像の表示について

こんばんは、画像の表示なんですが、bufferなどを経て表示させたいのですがうまくいきません
buffer 2 : picload "ba1-1.bmp"
pos 0,0 : gcopy 2,0,0,1000,700
などです。
画面表示の向きと表示サイズについてのページは拝見しましたがwindows上では表示できるのですが注意する点がズレていると思うのですが、初心者用に一例を公開して頂けると助かります。





  • メタボリック珍獣
  • 2017/04/10 (Mon) 21:58:43

Re: 画像の表示について

こんにちは。

> 画面表示の向きと表示サイズについてのページ
これは前ページの表示の向きとサイズの詳細で、Android機向けの解説ページです。

そうですね。Dishは通常のHSPとは仕様が異なる部分があるので初心者の方は注意する点が確かにあると思います。
近いうちに解説ページを作りたいと思います。

それからbufferからの画像の表示ですが、Dishは描画スクリーンIDは「0」のみとなります。
buffer命令使用後は描画対象のスクリーンIDが「2」になったままなので、picload使用後にgsel命令でスクリーンIDを「0」に戻してあげる必要があります。


#include "hsp3dish.as"

buffer 2 : picload "ba1-1.bmp"
gsel 0

gmode 0

repeat
redraw 0
color 0, 0, 0 : boxf
pos 0, 0 : gcopy 2,0,0
redraw 1
await 16
loop
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/11 (Tue) 00:41:58

Re: 画像の表示について

こんにちは、いつもありがとうございます。
"gsel 0" なるほど...ホント初歩的なことばかりでスミセン!!!

「しまくろねこさん」ぜひTips集をアップして頂けると楽しいです。
簡単なアニメーション、時間の取得、三角関数の利用、画面のタッチ判定など...上級者の方には「そんなことくらい...」と思えることすら、初心者にはわからないものですよ。
アドバイスや実例をコーナーとして公開して頂けると助かります。

「しまくろねこさん」はいつも早く的確にアドバイスを頂けるのでホント楽しいですよ。
ホントいつもありがとうございます!!
  • メタボリック珍獣
  • 2017/04/11 (Tue) 14:38:25

Re: 画像の表示について

こんにちは。

Tips集ですか(^^;
Dish講座を目的としてページを作っていたので今のところそれ以外の講座は考えておりませんが、いつの日か作れれば、と。
また、プログラミング自体のTipsはHSPに限らずどの言語でもほぼ一緒と考えているので、Web上に数多にある情報で十分なのではないかと考えています。

メタボリック珍獣さんもご存じだとは思いますが、HSP掲示板には心強い方がたくさんいらっしゃるので、HSP掲示板にていろいろなことをご質問されるのも方法かと思います。


HSPTV!掲示板
http://hsp.tv/play/pforum.php
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/13 (Thu) 20:36:16

Re: 画像の表示について

いつもご親切なご返事痛み入ります。
自分のスキルアップも期待しながら勉強していきたいと思います。
ありがとうございます。
  • メタボリック珍獣
  • 2017/04/14 (Fri) 21:58:00
 

無題

ご指摘のtool類はデリートして再インストールしたら、binフォルダー内にマニフェストなどのファイルは生成されましたがapkファイルはできていません。
BUILD FAILED
C:\Android\android-sdk\tools\ant\build.xml:716: The following error occurred while executing this line:
C:\Android\android-sdk\tools\ant\build.xml:730: class not found: javac 1.8
も出てきます。

HSPファイルはツール→Cソースに変換、コンパイルしてpackfile編集しています
ここまでの手順は合っていますか?
きっと自分の基本的な手順が間違っているのかも?


  • メタボリック珍獣
  • 2017/04/02 (Sun) 21:32:27

Re:

こんにちは。

HSP標準エディタの「ツール(T)」→「HSP3Dish/Cソース変換(C)」からDish Helperを起動しているということですね。
Dish Helperの起動はその手順で間違っていませんが、Dish HelperのビルドにはHSPエディタ上のコンパイル作業は必要なく(Windows上での実行にはもちろん必要です)、ソースファイル(.as もしくは .hsp)のみあれば大丈夫です。

手順としては、
1. Dish Helperを起動
2. ソーススクリプト・データファイル(dpm)(無ければ空白)・プロジェクトを指定
3. 「ビルド」ボタンをクリック

これだけです。
なので、手順的にはとくに間違ってはいないと思います。


エラーの内容ですが、
C:\Android\android-sdk\tools\ant\build.xml の730行目でクラスが見つからないというのがよくわかりません。
このbuild.xmlの730目行目に何が書いてあるでしょうか?

それから昨夜の23:15に書いた追記なのですが、もしかすると環境を構築するときにWebからダウンロードしたapache ant(1.10.1)のzip解凍に失敗しているのかもしれません。


こちらの環境でも
JDK8+JRE8
SDKr25
NDKr10d
ant1.10.1
でビルドを試してみましたが、特にエラーなくbinフォルダにAPKファイルができています。
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/02 (Sun) 23:28:09

Re:

こんなブログを見つけました。

http://www5f.biglobe.ne.jp/~sempreff/note/Java/Ant.html

> javac1.8 が not found という具合のエラーが出る場合、 Java 8 への対応の問題である可能性がある。
>
> 要するに Ant 1.8.x の javac タスクは Java 8 で動かない。
>
> 解法は、1.9.x に上げることである。


たしかメタボリック珍獣さんの現在のDish Helperのantフォルダ設定は
C:\Android\apache-ant-1.8.4
に設定してあると思いましたが、最初のant-1.10.1に戻してみてはどうでしょうか?
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/03 (Mon) 00:27:14

Re:

確かにapache-ant-1.10.1は解凍時にエラーが発生しています。
「正常に解凍できませんでした」のメッセージばかりですのでここがいけないのでしょうか?
もう一度サイトからダウンロードしなおすとかやってみます。

  • メタボリック珍獣
  • 2017/04/03 (Mon) 15:08:01

Re:

あるHPでapache-ant-1.10.1の解凍にはLhaplus以外のソフトを使用すると良い、とあったので試したらapkファイルまで作成できました。
あとは実機でテストすればOKでしょうか...
  • メタボリック珍獣
  • 2017/04/03 (Mon) 16:01:28

Re:

こんにちは。

ビルド成功おめでとうございます。
Dishでの一番の山はこれで越えたと思います。
そうですね。あとは実機でのテストを繰り返すだけかと思います。

Android実機でのアプリの動作確認は慣れないうちは少し作ってはテストを繰り返すといいかもしれません。
理由としては、エラーを起こすソースでもWindows上とは違いエラーメッセージが表示されずアプリが強制終了しエラー場所の特定が少し難しいからです。

また、DishでもWindows上では使用できるコマンドや関数でもAndroid上だと使用できない(アプリが強制終了する)ものがありますので、「HSP3Dishサポート済みコマンド
」からサポート済みのコマンドや関数を調べておくと良いかもしれません。
(ヘルプ(H) → HSPキーワード検索(K)...F1 → 「support_cmds」で検索)


以下のURLは私の不定期なブログです。
2016年12月26日と2016年12月27日に書いたものを少しでも参考にしてもらえれば幸いです。

ゲーム開発などの不定期日記
http://simakuroneko.blogspot.jp/
http://simakuroneko.blogspot.jp/2016/
http://simakuroneko.blogspot.jp/2017/

2016年12月27日火曜日
■作ったアプリのテストをなるべく簡単に行うために
■HSP3Dishで作ったAndroidアプリが突然落ちてしまう場合
■HSP3Dishで作ったAndroidアプリでエラーを出さないために

2016年12月26日月曜日
■Dish Helperでエラーなくビルドを通すために
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/03 (Mon) 21:56:42

Re:

おかげさまで実機に転送できました。
しかし画面のすみっこに小さく表示されています。
本ではmain.cファイルを修正すればOKとありますが、設定してみても反映されません。
「loop」は以下の内容で転送されています。

#include "hsp3dish.as"
setcls 1,$000000
to=4 : st=1
x=25 : y=40
tx=10 : ty=10
redraw 0
repeat 4,1
color 255,255,255
pos tx,ty : mes ""+cnt+"回目"
repeat to,st
pos x,y : mes cnt
y+=20
loop
    st+=8
x+=50 : y=40
tx+=50 : ty=10
    loop
redraw 1
stop

Crescent Eveで、hgio_autoscale( 0 );
と変更してから転送してもできないのですが...
スマホはpantone6を使用しています。(4.5インチ1280×720)
この場合での画面設定はどうすればよいでしょうか?

  • メタボリック珍獣
  • 2017/04/04 (Tue) 16:17:37

Re:

こんにちは。

転送もうまくいったようでよかったですね。

画面サイズを変更するための「main.c」についてですが、「main.c」はビルド前に編集する必要があります。

また、指定のサイズで画面いっぱいに拡大したい場合は下記のようにします。

(参考例)
hgio_view( 480, 320 ); // 解像度480x320を設定(※スマホの解像度が実際に480x320のドットになるわけではないです)
//hgio_scale( 1.0f, 1.0f ); // 倍率は使用しないのでコメントのまま
hgio_autoscale( 0 ); // オートスケールで画面いっぱいに拡大する

スマホの解像度が1280x720でも、上記の設定ですとHSP3Dishでの描画エリアが480x320になり、480x320のドットが自動的に引き伸ばされて1280x720に収まる形で自動拡大されます。(動画サイトのフルスクリーン表示みたいなイメージだと思ってらえるとわかりやすいと思います)

ちなみに hgio_view() は hgio_scale() もしくは hgio_autoscale() とセットで使うと覚えると良いかもしれません。
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/04 (Tue) 21:59:43

Re:

ありがとうございます、少し大きくなりました。
転送後には以下のようなメッセージが出ますがOKでしょうか?
(Successの後のメッセージが気になったので...)

* daemon not running. starting it now at tcp:5037 *
* daemon started successfully *
[ 29%] /data/local/tmp/loop-debug.apk
[ 58%] /data/local/tmp/loop-debug.apk
[ 88%] /data/local/tmp/loop-debug.apk
[100%] /data/local/tmp/loop-debug.apk
loop-debug.apk: 1 file pushed. 1.4 MB/s (223043 bytes in 0.151s)
pkg: /data/local/tmp/loop-debug.apk

Success

rm failed for -f, No such file or directory


また、画面のサイズですが、
機種によってサイズの指定も変わるのでしょうか?
使用する端末によって合わせるものなのでしょうか?

  • メタボリック珍獣
  • 2017/04/05 (Wed) 21:39:07

Re:

こんにちは。

転送後のメッセージは調べてみましたがよく分かりませんでした。
関係あるかわかりませんが、調べてうちのひとつにAPKファイルをAndroid機にインストールさせるDOSコマンドを実行させると、このメッセージが表示されるみたいです。

転送後のアプリはソースの内容を反映していますでしょうか?
反映されているのであればこのメッセージは無視しても大丈夫かと思います。


画面のサイズについてです。
私の環境ですと、

・Windows
  ・Windows機の解像度   :1280x800
  ・Dishで作成中のアプリ  :800x480

・Android
  ・Android機その1の解像度:1024x600
  ・Android機その2の解像度:800x600

となっており、
作成中のアプリが800x480なので、main.cの設定は

  hgio_view( 800, 480 );
  //hgio_scale( 1.0f, 1.0f );
  hgio_autoscale( 0 );

とこのようにしておきます。
基本的にmain.cのサイズは作っているアプリのサイズに合わせています。
このようにすると、800x480を自動で1024x600や800x600のサイズに合うように画面を自動拡大をしてくれるおかげで、800x480で作ったアプリが画面全体に表示されます。

なので、機種別にサイズを変えてあげる必要はとくにありません。
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/05 (Wed) 22:43:55

Re:

ご丁寧に回答を頂きありがとうございます。
メッセージが出ても転送後のアプリは動いています。

ただダイアログの表示などを入れたスクリプトは反映されないんですね、いろいろ試したりしていますが画面真っ黒だったりです。
まだまだ初心者なのでいろいろやってみます、ここまでの環境設定までこぎつけたのには感謝の一言しかありません。
またいろいろと教えてくださいね。
  • メタボリック珍獣
  • 2017/04/06 (Thu) 15:13:12

Re:

こんにちは。

メッセージが表示されてもアプリは動いているのですね。
しかし気になるのは、ダイアログの表示を入れたスクリプトは反映されていないとのことですが、dialog命令はDishでサポートされているので表示されないのは変ですね。

同じプロジェクトでまったく別のソースをビルドした場合でも反映されないでしょうか?
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/06 (Thu) 20:39:20

Re:

簡単なじゃんけんゲームです。

randomize
screen 0,700,600,,50,50
jt=0 : ct=0 ;自分とCPUの出目
jx=30 : jy=100 ;各座標
cx=190 : cy=100
bx=10 : by=10

*jibun
objsize 80,20,20
pos bx,by : button "グー ",*de1
pos bx,by+20 : button "チョキ",*de2
pos bx,by+40 : button "パー ",*de3

*ran
ct=rnd(3)+1
if ct=1 : ct1="グー"
if ct=2 : ct1="チョキ"
if ct=3 : ct1="パー"
stop

*de1
jt=1 : jt1="グー" : goto *han
*de2
jt=2 : jt1="チョキ" : goto *han
*de3
jt=3 : jt1="パー " : goto *han

*han
if jt=ct : ke="あいこ" : goto *tai
if jt=1 & ct=2 : ke="あなたの勝ち" : goto *tai
if jt=2 & ct=3 : ke="あなたの勝ち" : goto *tai
if jt=3 & ct=1 : ke="あなたの勝ち" : goto *tai
ke="あなたの負け"

*tai
color 255,255,255 : boxf 10,100,300,250
color 0,0,0 : pos 100,150 : mes "じゃんけん ぽん!!"
pos cx,cy : mes "相手の手"
pos jx,jy : mes "自分の手"
wait 15
pos jx,jy+20 : mes jt1
pos cx,cy+20 : mes ct1

pos 100,200 : mes ke

wait 20 : goto *ran



stop

windows上ではダイアログ(ボタン)で表示されていますが転送しても表示されませんので...
どこかおかしいでしょうか?
  • メタボリック珍獣
  • 2017/04/06 (Thu) 21:00:37

Re:

ソースを見て画面が真っ暗な理由がわかりました。
以下の基本仕様ガイドを見るとこのように書いてあります。


『HSP3Dish プログラミングマニュアル・基本仕様ガイド』より一部抜粋

> button命令について
>
> 現在サポートされている配置オブジェクトは、button命令によるボタンのみとなっています。 標準のオブジェクトと以下の点が異なっているので注意してください。
>
>・buttonの文字サイズ・色などは固定です
>・標準でbuttonの背景はグレーのグラデーションが使用されます
>・objimage命令によりbutton背景の画像を変更することが可能です
>・キーボードによるボタン操作、フォーカス移動はサポートしていません
>・ボタンの描画はredrawによる画像更新時に行なわれます


button命令についての最後の項目を見ると、redraw命令による画面更新時にボタンが描画がされるとあります。
つまり、redraw 1 でボタンが描画されるということです。
以下のようにredraw命令を追加してあげることでAndroid実機でボタンが表示され、ボタンタップで文字も表示されることを確認しました。


//------------------------------------
#include "hsp3dish.as"

randomize
; screen 0, 700, 600,,50, 50 ;(-削除)
jt = 0 : ct = 0 ;自分とCPUの出目
jx = 30 : jy = 100 ;各座標
cx = 190 : cy = 100
bx = 10 : by = 10

*jibun
objsize 80, 20, 20
redraw 0 ;(+追加)
pos bx, by : button "グー ", *de1
pos bx, by + 20 : button "チョキ", *de2
pos bx, by + 40 : button "パー ", *de3
redraw 1 ;(+追加)

*ran
ct = rnd(3) + 1
if ct = 1 : ct1 = "グー"
if ct = 2 : ct1 = "チョキ"
if ct = 3 : ct1 = "パー"
stop

*de1
jt = 1 : jt1 = "グー" : goto *han
*de2
jt = 2 : jt1 = "チョキ" : goto *han
*de3
jt = 3 : jt1 = "パー " : goto *han

*han
if jt = ct : ke = "あいこ" : goto *tai
if jt = 1 & ct = 2 : ke = "あなたの勝ち" : goto *tai
if jt = 2 & ct = 3 : ke = "あなたの勝ち" : goto *tai
if jt = 3 & ct = 1 : ke = "あなたの勝ち" : goto *tai
ke = "あなたの負け"

*tai
redraw 0 ;(+追加)
color 255, 255, 255 : boxf 10, 100, 300, 250
color 0, 0, 0 : pos 100, 150 : mes "じゃんけん ぽん!!"
pos cx, cy : mes "相手の手"
pos jx, jy : mes "自分の手"
wait 15
pos jx, jy + 20 : mes jt1
pos cx, cy + 20 : mes ct1

pos 100, 200 : mes ke
redraw 1 ;(+追加)
wait 20 : goto *ran

stop
//------------------------------------


また、Dishでは基本的にscreen命令は使用しません。
ビルド前の「main.c」では動作させるAndroidアプリの解像度を変更できますが、開発中のWindows上では「hsp3dish.ini」という画面(ウィンドウ)サイズ等の設定ファイル(テキストファイル)をソースと同じフォルダに置いておくと、スクリプト実行時に「hsp3dish.ini」の中を自動的に読み込んで画面(ウィンドウ)サイズを変更してくれます。

画面サイズについては私のHPの以下を参考にしてみてください。


HSP3Dish講座トップページ‎ > ‎B.プロジェクト作成‎ > ‎3.画面の表示サイズを設定

> Windows上で実行する際の画面サイズ変更("hsp3dish.ini"について)
>
> 「hsp3dish.ini」は、Windows上で実行する際に画面サイズなどの設定を参照するためのファイルです。
> ソーススクリプトがあるフォルダに置いておくと、ソーススクリプト実行時に設定が反映されます。
>
>
> パラメーター名 設定内容
> ----------------------------------------
> wx 画面のX(横)サイズ
> wy 画面のY(縦)サイズ
> autoscale 自動スケーリング値

https://sites.google.com/site/simakuroneko/home/hsp3dish_course/new_project/page_3
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/06 (Thu) 22:35:55

Re:

サイト拝見しました、何度か上記の「じゃんけん」のスクリプトを実行してみるのですが、実機上ではボタンのみ表示されたり表示が切れてしまいます。
画面サイズの把握ができてないのですが、上記の場合はどうしたら実機の画面に全体が表示できるのでしょう。
hgio_view( 480, 320 );などは数値を変えたりして試したのですが文字が欠けてしまったりでうまくいきませんのですが...
  • メタボリック珍獣
  • 2017/04/07 (Fri) 23:09:25

Re:

> 実機上ではボタンのみ表示されたり表示が切れてしまいます。
> hgio_view( 480, 320 );などは数値を変えたりして試したのですが文字が欠けてしまったりでうまくいきませんのですが...

なんなとくわかりました。
まず最初に回答を書きます。

「main.c」の hgio_view( , ); の行は hgio_view( 320, 480 ); にしてください。
hgio_view( 480, 320 ); だと文字が途中から切れてしまうと思います。



ここから下は解説です。


プロジェクト作成時は、Androidでアプリ起動時の画面の向きが「縦」デフォルトになっており、画面が縦向きということは画面のサイズは「横<縦」というように縦方向の方が大きくなります。
画面の向きが横向きに設定している場合は、画面のサイズは「横>縦」というように横方向の方が大きくなります。

画面の向きを変更するには、作成したプロジェクトフォルダ内のルートに 「AndroidManifest.xml」 というファイルがあり、この中の

「android:screenOrientation=」の行で指定されているパラメーターが、
 "portrait"   の場合は、縦画面
 "landscape"   の場合は、横画面になります。


また、「main.c」の画面サイズのhgio_view( 480, 320 ); についてですが、上記の「AndroidManifest.xml」で設定されている画面の向きが基準として、横に何ドット、縦に何ドットかを設定します。


詳しくは、下記URLを参考にしてみてください。


HSP3Dish講座トップページ‎ > ‎B.プロジェクト作成‎ > ‎2.画面表示の向きを設定
https://sites.google.com/site/simakuroneko/home/hsp3dish_course/new_project/page_2



上記を踏まえたうえで、「じゃんけん」のスクリプトを修正してみました。


//----------------------------
#include "hsp3dish.as"

randomize
;screen 0,700,600,,50,50 ;(-削除)
jt = 0 : ct = 0 ;自分とCPUの出目
jx = 30 : jy = 100 ;各座標
cx = 190 : cy = 100
bx = 10 : by = 10

*jibun
objsize 80, 20, 20
redraw 0 ;(+追加)
color 255, 255, 255 : boxf ;(+追加)

gosub *put_ginfo ;(+追加)

pos bx, by : button "グー ", *de1
pos bx, by + 20 : button "チョキ", *de2
pos bx, by + 40 : button "パー ", *de3
redraw 1 ;(+追加)

*ran
ct = rnd(3) + 1
if ct = 1 : ct1 = "グー"
if ct = 2 : ct1 = "チョキ"
if ct = 3 : ct1 = "パー"
stop

*de1
jt = 1 : jt1 = "グー" : goto *han
*de2
jt = 2 : jt1 = "チョキ" : goto *han
*de3
jt = 3 : jt1 = "パー " : goto *han

*han
if jt = ct : ke = "あいこ" : goto *tai
if jt = 1 & ct = 2 : ke = "あなたの勝ち" : goto *tai
if jt = 2 & ct = 3 : ke = "あなたの勝ち" : goto *tai
if jt = 3 & ct = 1 : ke = "あなたの勝ち" : goto *tai
ke = "あなたの負け"

*tai
redraw 0 ;(+追加)
color 255, 255, 255 : boxf
color 0, 0, 0 : pos 100, 150 : mes "じゃんけん ぽん!!"
pos cx, cy : mes "相手の手"
pos jx, jy : mes "自分の手"
wait 15
pos jx, jy + 20 : mes jt1
pos cx, cy + 20 : mes ct1

pos 100, 200 : mes ke

gosub *put_ginfo ;(+追加)

redraw 1 ;(+追加)
wait 20 : goto *ran

stop

;(+追加)
*put_ginfo
color 0, 0, 0
pos 0, 230
mes "ウィンドウ全体のXサイズ = " + ginfo(10)
mes "ウィンドウ全体のYサイズ = " + ginfo(11)
mes "クライアント領域Xサイズ = " + ginfo(12)
mes "クライアント領域Yサイズ = " + ginfo(13)
mes "デスクトップ全体のXサイズ = " + ginfo(20)
mes "デスクトップ全体のYサイズ = " + ginfo(21)
mes "画面の初期化Xサイズ = " + ginfo(26)
mes "画面の初期化Yサイズ = " + ginfo(27)
return
//----------------------------
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/08 (Sat) 10:43:46

Re:

ありがとうございます、きちんと画面全体に表示されました。
ご紹介のサイトも拝見しましたが縦と横の関係は初心者にはややこしいです。

でもこうやって添削してもらえると見比べることで何となくわかるような(?)気がします。
また簡単なスクリプトを作ってみます同じように表示できるようになったらひとまず成功でしょうかね?

とにかく何度もやってみたのですが一発で解決できたのには「さすが!」の一言です。
ありがとうございました。
  • メタボリック珍獣
  • 2017/04/08 (Sat) 13:50:49

Re:

画面全体で表示できたようでよかったです。

確かに縦と横の関係は私も始めたころ漠然としていた記憶があります。
もう少し分かりやすい解説を心がけようと思います。
ありがとうございます。

> また簡単なスクリプトを作ってみます同じように表示できるようになったらひとまず成功でしょうかね?

そうですね。既に成功とも思いますけども、プロジェクトと簡単なスクリプトを別に作って同じように表示できたら成功で良いと思います。
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/08 (Sat) 15:48:18
 

はじめまして

初めましてメタボリック珍獣と申します。
HSP Dishからアプリをビルドしようとすると
make.exe: *** [obj/local/armeabi-v7a/libpatten001.so] Error 1
というダイアログと「NDKのビルドに失敗しました」と表示されます
NDKは32bit版ですがSDKも32bit版でないとダメでしょうか?

また、2017年3月時点での状態なのですが
JDKはJRE1.8.0_121です(JDKじゃないといけませんか?)
SDKは64bit版です
NDKは32bit版のr9cです
antはant-1.10.1です

こちらのサイト様の「環境の構築」などの記事を読ませてもらいましたが、当方まったくの初心者でエラー表示にパニックです...ぜひお助けを。

  • メタボリック珍獣
  • 2017/03/21 (Tue) 15:44:59

Re: はじめまして

お返事が遅くなりましてごめんなさい。

メタボリック珍獣さん
はじめましてこんにちは。

HSP3Dishは環境を構築するところが一番の山だと思いますが、慣れてしまえばとても簡単ですので再度挑戦してみましょう。

まずはHSPのバージョンはいくつのものをご利用でしょうか?
できれば新しいバージョンのHSPを利用することをお勧めします。

私のHP2号店で解説しているHSPは3.5β4での解説となります。
もし3.5β4をご利用であれば、
JDK6+JRE6が推奨されますが、多分JDK8+JRE8でも大丈夫だと思います。
SDKについては32bit版が推奨されています。
NDKは32bit版のr9cで問題ないと思います。
Apache Antも1.10.1で問題ないと思いますが、Ant1.10.1を動かすにはJDK8である必要があるみたいです。

また、Dish Helper内のandroidオプション設定画面(JDK, SDK, NDK, ant, プロジェクトフォルダまでのパス)でのパスが間違っていることでうまくビルドできないこともあります。
androidオプション設定画面の各パスはどのような設定になっているでしょうか?
  • しまくろねこ
  • URL
  • MAIL
  • 2017/03/23 (Thu) 21:59:49

Re: はじめまして

今回は早速のご返事ありがとうございます。
javaフォルダ C:\Program Files (x86)\Java\jre6
SDKフォルダ C:\Android\android-sdk32
NDK フォルダ C:\Android\android-ndk-r8b
antフォルダ C:\Android\apache-ant-1.8.4
プロジェクトC:\Android
HSPは3.5ベータ
以上となっております。
PC作業も初心者なのでどこがどこやらわからないので...
どうにか動くようにはしたいものです。
よろしくお願いします。
あとJDKが見当たらないのですがJREでもよいのでしょうか?
JDKが無いのですよ
  • メタボリック珍獣
  • 2017/03/24 (Fri) 21:54:10

Re: はじめまして

HSP3.5のベータはベータ1~ベータ5までありますが、いくつのベータをお使いでしょうか?


androidオプション設定についてです。

> javaフォルダ C:\Program Files (x86)\Java\jre6
> SDKフォルダ C:\Android\android-sdk32
> NDK フォルダ C:\Android\android-ndk-r8b
> antフォルダ C:\Android\apache-ant-1.8.4
> プロジェクトC:\Android

JavaフォルダはJDKのフォルダになるはずですが、「C:\Program Files\Java」に「jdk」が付くフォルダはないでしょうか?
SDKフォルダは「platform-tools」フォルダ、「tools」フォルダ、「SDK Manager.exe」が存在する場所を指定します。
NDKフォルダはその場所でOKだと思います。バージョンR8でも大丈夫かとは思いますが、バージョンR10あたりを入れておくほうが安心かもしれません。
antフォルダはその場所でOKだと思います。バージョン1.8.4でも大丈夫かとは思いますが、バージョン1.9.4を入れておくほうが安心かもしれません。


また、JDKが無い場合は下記のURLからJDK8+JRE8がダウンロードできます。

Java SE Development Kit 8u121
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

ダウンロードする手順として、

[Accept License Agreement]にチェックを入れるとリンク先ファイルをダウンロードできるようになります。

ダウンロードするファイルは、インストールされているSDKツールが32bit版なので、
「Windows x86 189.36 MB jdk-8u121-windows-i586.exe」
をダウンロードしてください。

ダウンロードしたexeファイルを使ってインストールするとJDKとJREが両方インストールされます。
  • しまくろねこ
  • URL
  • MAIL
  • 2017/03/25 (Sat) 19:42:33

Re: はじめまして

早速のご返答ありがとうございます!!
version 3.5 betaとしか表記されていませんが...
あとどのフォルダにもJDKはありませんでした。
(書籍「はじめてつくるスマホアプリ・・・」同梱のCDからインストールしたんですが...)
"bin" "lib"というフォルダはあるのですが"JDK"はないです
また、上記ご紹介いただいたサイトでダウンロードしてみたいんですが、当方WiMaxでの環境なので速度制限かかちゃってダウンロードにとてつもなく時間がかかりすぎているのでもう少しできる限りのことやってからまた書き込みます。
とりあえずここまででできることやってみますので、またのご教授よろしくお願いします!
  • メタボリック珍獣
  • 2017/03/25 (Sat) 21:18:43

Re: はじめまして

そうでしたか。
JDKは必ず必要になりますので入れるようにしましょう。

また、現在使っているHSPのバージョンの確認方法ですが
下記ソースをHSPのエディタに張り付けて実行してもらえばいくつのベータか調べることができるかと思います。

;------------------------------
// hspver
// 3501 : HSP3.5ベータ1
// 3502 : HSP3.5ベータ2
// 3503 : HSP3.5ベータ3
// 3504 : HSP3.5ベータ4
// 3505 : HSP3.5ベータ5

mes strf("%4x", hspver)
stop
;------------------------------


現在はHSP3.5ベータ5まで出ていますが、ベータ5よりもベータ4をお勧めします。

HSP3.5ベータ4 - URL
http://www.onionsoft.net/wp/download/67/
  • しまくろねこ
  • URL
  • MAIL
  • 2017/03/26 (Sun) 00:21:20

Re: はじめまして

いろいろとありがとうございます!!

HSPのバージョンは"3504"なのでベータ4です、
またJDKはProgram Filesにありました"jdk1.8.0_25"です。
オプション設定を、
javaフォルダ C:\Program Files\Java\jdk1.8.0_25
SDKフォルダ C:\Android\android-sdk32\tools
と変更しました。

IDは(API16)android-16にしてありますが以下のメッセージでエラー起こしています。

"Compile++ thumb : patten001 <= hspsource.cpp

jni/hsp3embed/hspsource.cpp: In function 'void __HspEntry()':
jni/hsp3embed/hspsource.cpp:34:23: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
SharedLibrary : libpatten001.so

c:/android/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.exe: cannot find -lobaqlib
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi-v7a/libpatten001.so] Error 1

最終的には「NDKのビルドに失敗しました」で終了です...
APIをいろいろ試したほうがよいでしょうか?
クリーンを押してもパスが見つかりませんとも表示されてしまいます。
  • メタボリック珍獣
  • 2017/03/26 (Sun) 15:07:11

Re: はじめまして

こんにちは。

「Android SDK Manager」で「Android 5.0.1(API 21)」の SDK Platform は必ずインストールする必要がありますが、「Android 5.0.1(API 21)」の SDK Platform はインストールされていますか?

参考URL

HSP3Dish android(NDK)版プログラミングガイド - 3. Platform APIインストール
http://www.onionsoft.net/hsp/v35/doclib/hsp3dish_ndk.htm#SDKSETUP


また、HSP3.5β4だとNDK(32bit版)はr10dが対象とのことです。
私の環境ではβ4でもNDKはr8d, r10d, r11c全てでビルドできていますが、念のためマニュアルに記載されている動作確認済みのバージョンのr10dを入れておいたほうが安心かもしれません。


それからSDKフォルダの場所ですが、
 SDKフォルダ = C:\Android\android-sdk32\tools
ではなく、
 SDKフォルダ = C:\Android\android-sdk32
でよいかと思います。
この中の[platform-tools]フォルダ内、[tools]フォルダ内のファイルをDish Helperから呼び出しています。

添付した画像ファイルは私のPCでの環境です。


> クリーンを押してもパスが見つかりませんとも表示されてしまいます。
これは表示されていても特に問題なかったと思います。
  • しまくろねこ
  • URL
  • MAIL
  • 2017/03/27 (Mon) 23:53:11

Re: はじめまして

API-21でやってますが依然として失敗です
SDKのプラットフォームツールとかがインストールされていないのも原因でしょうか?
どのみちネットが速度制限かかっているのでダウンロードをして2~3日後位に確認してみますのでまたよろしくお願いします。
初歩的な質問多数にも関わらずご丁寧な対応痛み入ります。
  • メタボリック珍獣
  • 2017/03/29 (Wed) 21:08:22

Re: はじめまして

こんにちは。
もう少しだと思いますので頑張りましょう。

> SDKのプラットフォームツールとかがインストールされていないのも原因でしょうか?
おそらくそうだと思います。
HSP3Dish android(NDK)版プログラミングガイドからの抜粋になってしまいますが、

>> この中で、「Android SDK Tools」「Android SDK Platform-tools」「Android SDK Build-tools」(最新のRev.)「Android 5.0.1 (API 21)」はチェックを入れて必ずインストールするようにしてください。 (「Android 5.0.1 (API 21)」はプログラムで使用できるAPIのレベルを示すもので、インストールする端末のバージョンとは関係ありません。通常は、「Android 5.0.1 (API 21)」をインストールすればすべての端末で動作させることができます。)

HSP3Dish android(NDK)版プログラミングガイド - 3. Platform APIインストール
http://www.onionsoft.net/hsp/v35/doclib/hsp3dish_ndk.htm#SDKSETUP


添付した画像ファイルは私のPCでのインストールした項目です。
  • しまくろねこ
  • URL
  • MAIL
  • 2017/03/30 (Thu) 20:58:30

Re: はじめまして

ありがとうございました!! ビルドできました!!!
"test(プロジェクト名)"というフォルダーが作成されました。

しかし、本には「binフォルダー内にapkファイルがある」そうですが、私の場合空っぽです...うまくいかないようです。
  • メタボリック珍獣
  • 2017/04/01 (Sat) 14:12:27

Re: はじめまして

あと一息ですね。
がんばりましょう。

ビルド時に表示されるコンソール(console)画面には、APKファイルが作成された場所が表示されますがそれは表示されますか?
以下のような文字の箇所です。

-do-debug:
[ziplign] Running zip align on final apk...
[echo] Debug Package: C:\xxxx\xxxx.apk


また、ビルド終了時に「BUILD SUCCESSFUL」の文字と、「終了しました。」が表示されていますでしょうか?


BUILD SUCCESSFUL
Total time: xx seconds


ソーススクリプト:xxxxx.hsp
HSP変換処理中...
UTF-8に変換中...
変換終了しました。
NDKビルド処理中...
packfile処理中...
make [C:\xxxx\libs\armeabi-v7a\libhsp3dish.so] ...
xxxxxxxビルド処理中...
終了しました。
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/01 (Sat) 21:35:08

Re: はじめまして

追記です。

HSPTV!掲示板の過去ログに同様の現象がありました。
過去ログでの原因はapache antのzipファイルの解凍に失敗していたみたいで再度解凍しなおしたところ解決したみたいです。


HSPTV!掲示板過去ログ
Dishでビルドは正常終了してるのですが…
http://hsp.tv/play/pforum.php?mode=pastwch&num=56604
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/01 (Sat) 23:15:08

Re: はじめまして

APKについてですがビルド終了画面です。
何かおかしいポイントをご指摘ください。
  • メタボリック珍獣
  • 2017/04/02 (Sun) 09:27:34

Re: はじめまして

すみませんダイアログ全景です
  • メタボリック珍獣
  • 2017/04/02 (Sun) 09:42:17

Re: はじめまして

ログの文字数がすこし少ない気がします。

それから、

BUILD FAILED
C:\Android\android-sdk\tools\ant\build.xml:716: The following error occurred while executing this line:
C:\Android\android-sdk\tools\ant\build.xml:730: class not found: javac 1.8

の部分が気になります。

SDKマネージャーから「Android SDK Tools」にチェックを入れて削除し、その後「Android SDK Tools」にチェックいれてインストールしなおしてみてください。
その後、プロジェクトを新たに作り直してからビルドしてみてください。
既存プロジェクト(loop)の削除方法は、対象のフォルダ(C:\Android 内の loopフォルダ)を削除すればプロジェクトを削除できます。

また、ビルドするHSPソースまでのフォルダ名にスペース含むものはありますでしょうか?
半角スペースを含むパスだと駄目だったような記憶があります。
  • しまくろねこ
  • URL
  • MAIL
  • 2017/04/02 (Sun) 14:25:01
 

再度、mod_picmes-Editorにつきまして

お世話になっております、法貴優雅です。

アンチエイリアスOFFの件
素早い対応ありがとうございます。

それで、またで申し訳ないのですが
もうひとつ要望があります。

フォントダイアログで、フォントとサイズを選択した後
再度フォントダイアログを表示した際
先ほど選択した内容ではなく、デフォルトの
フォントとサイズになるのですが
これを先ほど選択した内容で、表示できませんでしょうか?

サイズだけ微調整したい時に、少し煩わしく感じるので。

ご検討よろしくお願いいたします。
  • 法貴優雅
  • 2016/11/25 (Fri) 19:44:04

Re: 再度、mod_picmes-Editorにつきまして

こんにちは。

フォントダイアログをオープン時のフォントを、現在設定されているフォント状態をデフォルト値にするように修正しました。

バージョンは1.8となります。
  • しまくろねこ
  • URL
  • 2016/11/26 (Sat) 15:59:01

Re: 再度、mod_picmes-Editorにつきまして

お世話になっております、法貴優雅です。

お忙しい中、素早い対応、ありがとうございます。
mod_picmes-Editorのおかげで、私の作る作品は
フォント周りの作業が、行いやすくなりました。
感謝しております、それでは。
  • 法貴優雅
  • 2016/11/27 (Sun) 12:25:20