ページ 1 / 1
Android 開発
Posted: 2022年1月21日(金) 22:39
by あたっしゅ
どうせなら、我らが DxLib を用いては、どうでしょうか ?
https://dnjiro.hatenablog.com/entry/2018/06/19/080049
DX ライブラリをつかって、アンドロイド版 9VAe きゅうべえをつくる - dnjiro’s 9VAe blog(ja)
2021年8月から、Android Studio の形式で、アプリを作成しないと、
アプリストアに登録できなくなった。DxLib のサンプルにも Android Studio 版が
はいっているので、それを利用するとよい。
また、プログラムを解析されにくいように
https://www.embarcadero.com/jp/products/delphi
Embarcadero Delphi(ja)
を用いている所もあるようです。
Re: Android 開発
Posted: 2022年1月26日(水) 20:33
by あたっしゅ
このスレッドの最初は、もともとは、質問への回答だったのですが、
up しようとしたときには質問が削除されていたのですが、かまわず up したものです。
その際、タイトルを「[雑談]Android 開発」とでも、すべきだったのかもしれません。
Re: Android 開発
Posted: 2022年2月01日(火) 19:43
by dic
最初の親記事消したのは、返事がないと思っていました。
返事があり大変おどろいています!!
DxLibが対応していたのが、ちょっとびっくりしました。
JavaかKoltinしか対応していないと思っていました。
現在、じゃんけんゲームをつくったのですが、google play に登録するには
Android Studio の形式しか受け付けないとの情報が、どこかで目にしたのですが、
すいません、メモ取ってませんでした。
Visual Studio 形式でも Google Play に登録できるのでしょうか?
.apk 形式だったら、android studio でも visual studio でも
かまわないのでしょうか?
気になって作業が進みません。
Re: Android 開発
Posted: 2022年2月01日(火) 22:04
by dic
最小のコードを作ろうとしたのですが、キーボード入力ではなく、タップ入力なので、
つまづきました。
下がコードです。
コード:
#include "DxLib.h"
// プログラムは android_main から始まります
int android_main(void)
{
if (DxLib_Init() == -1) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
DrawBox(220, 140, 420, 340, GetColor(255, 255, 255), TRUE); // 四角形を描画する
DrawString(200, 200, "Hello androld", GetColor(128, 128, 128));
while (1)
{
int x2 = 0;
int y2 = 0;
for (int i = 0; i < 3; i++)
{
GetTouchInput(0, &x2, &y2, NULL, NULL);
DrawCircle(x2, y2, 50, GetColor(0, 255, 0), true);
char szDebug[256];
sprintf(szDebug, "x2:%d y2:%d", x2, y2);
DrawString(200, 220, szDebug, GetColor(128, 128, 128));
WaitTimer(10);
WaitKey();
}
}
DxLib_End(); // DXライブラリ使用の終了処理
return 0; // ソフトの終了
}
タップしたところを中心に円を描こうとしてます。
四角を表示したまま、待ち状態になり、
なんでもいいので、タップしたら終わりというアプリを作りたいのですが、
どこか使い方が変でしょうか?(多分変
無限ループですが、デバッカー(Visual Studio)の実行停止(Shift + F5) で止めてます。
Re: Android 開発
Posted: 2022年2月02日(水) 07:48
by dic
自力で解決できました。
ソースコードをのせておきます
コード:
#include "DxLib.h"
// プログラムは android_main から始まります
int android_main(void)
{
if (DxLib_Init() == -1) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) {
DrawBox(220, 140, 420, 340, GetColor(255, 255, 255), TRUE); // 四角形を描画する
DrawString(200, 200, "Hello androld", GetColor(128, 128, 128));
// タッチされている箇所の数だけ繰り返し
for (int i = 0; i < GetTouchInputNum(); i++)
{
int PosX, PosY;
PosX = PosY = 0;
// タッチされている箇所の座標を取得
GetTouchInput(i, &PosX, &PosY, NULL, NULL);
// 円を描画
DrawCircle(PosX, PosY, 50, GetColor(255, 0, 0), true);
// デバック出力、X,Y座標を表示
char _szStr[256];
sprintf(_szStr, "i[%d] X:%d Y:%d", i, PosX, PosY);
DrawString(200, 220, _szStr, GetColor(0, 255, 0));
}
}
DxLib_End(); // DXライブラリ使用の終了処理
return 0; // ソフトの終了
}