トップページ > 記事閲覧
「ホームプログラム開発講座」で 4 キーボードで画像を移動で
名前:田中一郎 日時: 2018/04/02 18:56

「ホームプログラム開発講座」の「4.キーボードで絵を動かそう」 の章を行っているのですが、ビルドしてデバッグを行って、 エミュレータ上に画像が表示されるのですが、上下左右の矢印キーが反応してくれず、画像が全く動きません。 またESCキーを押してもプログラムが終了しません。 どうすればいいのでしょうか、宜しくお願いします。
メンテ

Page: 1 |

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版の方が速いと言っていたので、どの位速いのか気にはなっていました。 多分またすぐに質問するかと思いますが、その時は改めて宜しくお願いします。 一応問題は解決していないので、(解決)は書かずそのままにしておこうかと思います。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存