Re: 「ホームプログラム開発講座」で 4 キーボードで画像を移動で ( No.1 ) |
- 名前:管理人 日時:2018/04/03 00:59
Android のエミュレーターでキーボードの入力を使用するには、エミュレーターの設定でキーボードを有効にする必要があります
Android Virtual Device (AVD) Manager で起動したいエミュレーターを選んだ状態でウィンドウ右側の『Edit...』ボタンを押すと
設定を変更するためのダイアログが開きますが、その中の項目の『Hardware keyboard present』にチェックを入れて『OK』ボタンを
押すと、キーボードを有効にすることができます
『Hardware keyboard present』にチェックが入っているエミュレーターであればキーボードの上下左右の矢印キーに
反応しますので、よろしければお試しください m(_ _)m
ただ、Android のキーボードには『ESCキー』がありませんので、キーボードの ESCキーを押してもプログラムは終了しません
代わりにDXライブラリでは『戻るボタン』を『KEY_INPUT_ESCAPE』に割り当てていますので、プログラムを終了する場合は
エミュレーター上で『戻るボタン』を押してください( エミュレーターの画面の上端付近か下端付近を左クリックして
そのまま画面中央方向にスライドさせるとバッテリー残量や時刻表示と共に、画面下端から『戻るボタン』『ホームボタン』
『履歴ボタン』が表示されますので、一番左側の『戻るボタン』を押し続けると CheckHitKey( KEY_INPUT_ESCAPE ) の
戻り値が 1 になります )
|
Re: 「ホームプログラム開発講座」で 4 キーボードで画像を移動で ( No.2 ) |
- 名前:田中一郎 日時:2018/04/03 17:28
>Android Virtual Device (AVD) Manager で起動したいエミュレーターを選んだ状態でウィンドウ右側の『Edit...』ボタンを押すと
>設定を変更するためのダイアログが開きますが、その中の項目の『Hardware keyboard present』にチェックを入れて『OK』ボタンを
>押すと、キーボードを有効にすることができます
上記の事を試したのですが、エミュレータ上で画像を動かす事ができませんでした。というか、「Hardware keyboard present」は既にチェックが入っていました。
ただ、以下の事は出来ました。
>代わりにDXライブラリでは『戻るボタン』を『KEY_INPUT_ESCAPE』に割り当てていますので、プログラムを終了する場合は
>エミュレーター上で『戻るボタン』を押してください( エミュレーターの画面の上端付近か下端付近を左クリックして
>そのまま画面中央方向にスライドさせるとバッテリー残量や時刻表示と共に、画面下端から『戻るボタン』『ホームボタン』
>『履歴ボタン』が表示されますので、一番左側の『戻るボタン』を押し続けると CheckHitKey( KEY_INPUT_ESCAPE ) の
>戻り値が 1 になります )
マウスでスライドさせたら、戻るボタンは出てきて、押したら、デバッグは終了しました。
|
Re: 「ホームプログラム開発講座」で 4 キーボードで画像を移動で ( No.3 ) |
- 名前:管理人 日時:2018/04/04 00:57
> 上記の事を試したのですが、エミュレータ上で画像を動かす事ができませんでした。というか、「Hardware keyboard present」は既にチェックが入っていました。
あ、もしかしたらエミュレートする端末にキーボードが存在しない場合「Hardware keyboard present」にチェックをつけても駄目かもしれません
手元の環境では『Device:』の設定で『Galaxy Nexus (4.65", 720 x 1280: xhdpi)』を選択して、且つ『Hardware keyboard present』にチェックをつけた場合
キー入力を行うことができました( 起動するエミュレーターにもキーボードの表示があります )
|
Re: 「ホームプログラム開発講座」で 4 キーボードで画像を移動で ( No.4 ) |
- 名前:田中一郎 日時:2018/04/04 16:58
>手元の環境では『Device:』の設定で『Galaxy Nexus (4.65", 720 x 1280: xhdpi)』を選択して、且つ『Hardware keyboard present』にチェックをつけた場合
>キー入力を行うことができました( 起動するエミュレーターにもキーボードの表示があります )
同じデバイスでやっています。CPU/ABIをx86にしている点以外は、マニュアルと同じです。『Hardware keyboard present』にもチェックが付いています。
あとこれはちょっとした疑問なんですが、エミュレータにキーボードはあるのですが、上下左右の矢印ボタンはないですよね。
エミュレータの右側の中央付近に楕円形のボタンがあって、そこに上下左右の矢印が書かれてあるのですが、これが矢印ボタンになるんでしょうか。
PC上の矢印ボタンとは形が違うんだなー、と思い、僕の見ているエミュレータと管理人さんが見ているエミュレータで違いがあるのかな、とか思ったんで。
|
Re: 「ホームプログラム開発講座」で 4 キーボードで画像を移動で ( No.5 ) |
- 名前:管理人 日時:2018/04/05 01:05
> 同じデバイスでやっています。CPU/ABIをx86にしている点以外は、マニュアルと同じです。『Hardware keyboard present』にもチェックが付いています。
そうでしたか・・・
> あとこれはちょっとした疑問なんですが、エミュレータにキーボードはあるのですが、上下左右の矢印ボタンはないですよね。
> エミュレータの右側の中央付近に楕円形のボタンがあって、そこに上下左右の矢印が書かれてあるのですが、これが矢印ボタンになるんでしょうか。
恐らくそうだと思います
> PC上の矢印ボタンとは形が違うんだなー、と思い、僕の見ているエミュレータと管理人さんが見ているエミュレータで違いがあるのかな、とか思ったんで。
いえ、私の手元の環境で表示されているものも同じものだと思います
ともあれ、この件に関しては手詰まりとなってしまいました
実機の Android端末にキーボードを繋いで動作させた場合はキーボードの方向キーの押下状態を取得できると思うのですが・・・
本件やこれまでの経緯をからお察しいただけると思いますが、Androidアプリ の開発環境は Windowsアプリの開発環境に
比べてまだ未成熟な部分が多く、ご質問に対応する私の知識も乏しいので、やはり学習が目的でしたら最初は Windowsアプリの
開発からされた方が何かと都合が良いと思います・・・
|
Re: 「ホームプログラム開発講座」で 4 キーボードで画像を移動で ( No.6 ) |
- 名前:田中一郎 日時:2018/04/05 15:34
>本件やこれまでの経緯をからお察しいただけると思いますが、Androidアプリ の開発環境は Windowsアプリの開発環境に
>比べてまだ未成熟な部分が多く、ご質問に対応する私の知識も乏しいので、やはり学習が目的でしたら最初は Windowsアプリの
>開発からされた方が何かと都合が良いと思います・・・
Windows版で開発した方がいいかなとは思うんですよ。管理人さんや釉薬さんがお勧めしていたように。
ただ僕の目的はC言語を用いたandroidのゲームアプリ開発なので、それだと目的がずれるんですよ。
でもWindows版でもC言語でのゲーム開発を学べるので、それはそれでいいかなとは思います。
もう少し経っても、解決策を持っている人が現れなかったら、Windows版に移ろうと思います。
(というかそれしか方法は無さそうなので)
どなたか、ちょっとした提案でもいいので、ありましたらここにコメントして下さるとありがたいです。
|
Re: 「ホームプログラム開発講座」で 4 キーボードで画像を移動で ( No.7 ) |
- 名前:釉薬 日時:2018/04/05 22:35
今は「Androidアプリの開発」とか「Windowsアプリの開発」とかの段階ではなく、
「DXライブラリの習得(や、C言語の実践練習)の段階」かと思います。
なので、「Androidのキーボードがうまくいかない」ことで数日費やすより、いったんWindows版で仕切り直し、
開発講座やその他の情報のページをザクザク進み、DxLibの具体的な使い方や、ゲームプログラムの作り方を
どんどん試した方が時間を有効に使えると思います。
で、ある程度理解出来たら、
「そういえば、Androidでキー入力がうまくいかなかったな。どっちみちキーが解決しても実機には
キーもないし、できたところであんまし意味ないか。それより、スマホなので画面をタッチしたときの
方が重要だな。処理はどうするんだろう。」
↓
DXライブラリ 関数リファレンスページ を見る
↓
「なるほど「GetTouchInputNum()」や「GetTouchInput()」という関数があるのか。ちょっと
Android版で試してみるか」
↓
「よし、例えば画面上部をタッチすれば上方向、画面左部をタッチすれば左方向…というような
動作になるように、『4.キーボードで絵を動かそう』を改造してみるか」
てな感じの流れがいいんじゃないでしょうか。
※ ちなみに自分が使用しているx86エミュレーター(※残念ながら田中さんのPC/OSでは動作しません)では設定なしで
※ キーが使える(というか設定がない)ので、お力にはなれませんが...(なお、ARM版はやはりキーが効きません。)
|
Re: 「ホームプログラム開発講座」で 4 キーボードで画像を移動で ( No.8 ) |
- 名前:田中一郎 日時:2018/04/06 16:41
>今は「Androidアプリの開発」とか「Windowsアプリの開発」とかの段階ではなく、
>「DXライブラリの習得(や、C言語の実践練習)の段階」かと思います。
>
>なので、「Androidのキーボードがうまくいかない」ことで数日費やすより、いったんWindows版で仕切り直し、
>開発講座やその他の情報のページをザクザク進み、DxLibの具体的な使い方や、ゲームプログラムの作り方を
>どんどん試した方が時間を有効に使えると思います。
やはりそうかもしれませんね。
可能ならandroid版で試したかったのですが、同じようなやり方で出来るのならWindows版で試して、その後android版に移行してもスムーズに行くんじゃないかと思えてきました。
>で、ある程度理解出来たら、
>
>「そういえば、Androidでキー入力がうまくいかなかったな。どっちみちキーが解決しても実機には
> キーもないし、できたところであんまし意味ないか。それより、スマホなので画面をタッチしたときの
> 方が重要だな。処理はどうするんだろう。」
>↓
>DXライブラリ 関数リファレンスページ を見る
>↓
>「なるほど「GetTouchInputNum()」や「GetTouchInput()」という関数があるのか。ちょっと
> Android版で試してみるか」
>↓
>「よし、例えば画面上部をタッチすれば上方向、画面左部をタッチすれば左方向…というような
> 動作になるように、『4.キーボードで絵を動かそう』を改造してみるか」
>
>てな感じの流れがいいんじゃないでしょうか。
具体的な例を有難うございます。
DXライブラリにまだ全然精通していないのですが、なんか出来そうな気がしてきました。
なるほどな〜、とか思いながら読んでます。
>※ ちなみに自分が使用しているx86エミュレーター(※残念ながら田中さんのPC/OSでは動作しません)では設定なしで
>※ キーが使える(というか設定がない)ので、お力にはなれませんが...(なお、ARM版はやはりキーが効きません。)
マニュアルで使用するエミュレータの他にも、別の物があるんですね。
僕のPC/OSという事は、Celeron や Windows10Homeじゃなく、もっと高級な物を使ったらそれが出来るという事ですか。
現在、新しいPCとエミュレータを用意する(お金の)余裕と(エミュレータ等の)知識は僕にはありませんが、Windows版を操作しながら、そういった知識も身に付けていこうかと思います。
釉薬さんも、管理人さんも、色々アドバイス有難うございます。
やはり、Windows版でやり直してみようと思います。
Windows版の方が速いと言っていたので、どの位速いのか気にはなっていました。
多分またすぐに質問するかと思いますが、その時は改めて宜しくお願いします。
一応問題は解決していないので、(解決)は書かずそのままにしておこうかと思います。
|