yahoo や pogo などのゲームで使用するゲーム ロボットの Web サイトをいくつか見ました。画面上のアイテムを検出するソフトウェアは何を使用していますか?どのように作成していますか? たとえばJavaで、動的なゲームウィンドウを検出し、正方形のブロックが動作していることを認識する方法(テトリスなど)..画面上のアイテムからソフトウェアにそれを認識させる方法に飛躍するにはどうすればよいですか? ?
質問する
266 次
1 に答える
0
まず、Java/Processing では、通常、Web サイトにアプレットを埋め込みます。Java Frame クラスは、画面の XY 開始点 (左上隅、つまり 0,0) と画面境界 (右下隅、つまり「幅」と「高さ」) を提供します。これは、Python、JavaScript、およびその他のソフトウェア (Web またはその他) と同様に、「キャンバス」で動作します。画面。
第 2 に、画面に描画しているものはすべて自分で作成したものであるため、描画したものの XY 座標にプログラムでアクセスできます。これは、グローバル変数によって制御できます。さらに良いのは、座標を返すメソッドを持つクラスのオブジェクトです。
例:
Ball ball;
void setup() {
size(640, 480);
smooth();
ball = new Ball(width/2, height/2, 60);
}
void draw() {
background(0, 255, 0);
ball.move();
ball.boundsDetect();
ball.draw();
println("The X Position is " + getX() + " and the Y Position is " + getY());
}
class Ball {
float x, y;
float xSpeed = 2.8;
float ySpeed = 2.2;
int bSize, bRadius;
int xDirection = 1;
int yDirection = 1;
Ball(int _x, int _y, int _size) {
x = _x;
y = _y;
bSize = _size;
bRadius = bSize/2;
}
void move() {
x = x + (xSpeed * xDirection);
y = x + (ySpeed * yDirection);
}
void draw() {
fill(255, 0, 0);
stroke(255);
ellipse(x, y, bSize, bSize);
println("here");
}
void boundsDetect() {
if (x > width - bRadius || x < bRadius) {
xDirection *= -1;
}
if (y > height - bRadius || y < bRadius) {
yDirection *= -1;
}
}
float getX() {
return x;
}
float getY() {
return y;
}
}
于 2013-06-07T17:32:34.773 に答える