Я хочу сделать игру платформер (используя Processing) и столкнулся с такой проблемой. У меня есть 2 типа блоков: стационарные (неподвижные) и те которые двигаются туда сюда по определённому маршруту
Вот класс неподвижного блока
public class Block{
AABB aabb;
Block(int x, int y, int w, int h){
aabb = new AABB(x, y, x+w, y+h);
}
void draw(){
rect(aabb.min.x, aabb.min.y, aabb.getWidth(), aabb.getHeight());
}
}
А вот класс двигающегося блока
class MovingBlock extends Block{
PVector vel, A, B;
MovingBlock(int x, int y, int w, int h, PVector B, float speed){
super(x, y, w, h);
this.A = aabb.min.copy();
this.B = B.copy();
B.sub(aabb.min).setMag(speed);
this.vel = B;
}
void update(){
aabb.moveByVector(vel);
if (aabb.min.copy().sub(A).magSq() < 0.25 || aabb.min.copy().sub(B).magSq() < 0.25){
vel.mult(-1);
}
}
}
И вот в чем проблема - я храню все эти блоки в ArrayList`е
ArrayList<Block> blocks;
Когда я в игровом цикле прохожусь по ним, мне надо сделать вот такую вещь:
for (Block block : blocks){
//какой-то код
if (block instanceof MovingBlock){
player.vel = block.vel.copy();
}
}
Но при попытке запустить Processing выдаёт такой текст:
vel cannot be resolved or is not a field
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Появилась ошибка в Eclipse Window Builder Я в eclipse новичок, не знаю как исправить!
Как создать постер к видео с помощью canvas и js чтоб постеры к видео создавались при загрузке страницы с видео ну или создавались при загрузке...
Сегодня мой друг сделал приватный сервер из одной браузерной игры под названием starveio