2013-06-07 4 views
0

Я видел несколько сайтов для игровых роботов, которые можно использовать в играх на yahoo, pogo и т. Д., Что вы используете/как вы пишете программное обеспечение, которое обнаруживает элементы на экране? Как вы, например, в java, обнаруживаете динамическое окно игры и узнаете, что играет квадратный блок (например, в тетрисе) .. как вы делаете прыжок с элемента на экране, чтобы получить программное обеспечение для его распознавания? ?Продвинутый экран соскабливания?

ответ

0

Ну, во-первых, в Java/Processing вы обычно вставляете Applet на веб-сайт. Класс Java Frame дает вам начальную точку экрана XY (верхний левый угол, т.е. 0,0) и границы экрана (нижний правый угол, то есть «ширина» и «высота»). Это похоже на Python, JavaScript и любое другое программное обеспечение - web или иначе - работает с «холстом», т.е. экран.

Во-вторых, все, что вы рисуете на экране, имеет собственное творение, поэтому вы программно получаете доступ к координатам 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; 
    } 

} 
+0

@Shawn ли это ответ на ваш вопрос? –

Смежные вопросы