Создание Android-игры 2d.
... У персонажа есть препятствия, где он не должен идти.
Basicaly она реализуется как:Холст Android. содержит (x, y) для овала?
RectF obstacle1 = new RectF(100, 150, 200, 300);
Paint paint = new Paint();
barPaint.setColor(Color.argb(130, 255, 255, 255));
canvas.drawRect(obstacle1, paint);
// stopping the character in case of getting to the obstacle
if (obstakle1.contains(currentXCoordinate, currentYCoordinate) {
theCharacter.stop();
}
//...
и отлично работает для прямоугольных - в виде препятствий.
Но я должен использовать овальные препятствия.
Если я сделать то же самое и просто нарисовать овал:
RectF ovalObstacle = new RectF(100, 400, 500, 800);
Paint paint = new Paint();
barPaint.setColor(Color.argb(130, 255, 255, 255));
// drawing oval
canvas.drawOval(ovalObstacle, paint);
// stopping the character in case of getting to the obstacle
if (ovalObstacle.contains(currentXCoordinate, currentYCoordinate) {
theCharacter.stop();
}
персонаж остановится, когда он достигнет RectF, а не сам по себе (светлый круг на PrintScreen) овальный (
Есть способ использовать что-то вроде метод содержит (х, у) для овала? чтобы выяснить, когда персонаж достигнет овал или сам круг?
или как осуществить это?
правый, но ширина вы имеете в виду, что радиус в x и высота - это радиус в y –
здесь ширина относится к полуосновной оси, а высота относится к полу малая ось. – Kartheek
Спасибо, хорошая идея. Работает, но с 2-кратным увеличением радиуса. Выяснить, что не так –