Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Ilnyr
0 / 0 / 0
Регистрация: 09.11.2015
Сообщений: 15
#1

Работа с libgdx - Программирование Android

25.07.2016, 18:01. Просмотров 168. Ответов 0
Метки нет (Все метки)

Есть класс для пуль унаследованный от Actor c подключенным интерфейсом Poolable вот код этого класса

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
public class Bullet extends GameObj implements Pool.Poolable{
 
    public boolean alive;
    private Sprite strela;
    private Vector2 vector2;
    public int N;
 
     public Bullet(World world)  {
         super(world);
         this.N=Player.N;//определяет в какую сторону будет движение
         PolygonShape shape = new PolygonShape();
         shape.setAsBox(0.4f, 0.2f);
         CreateBody(shape, BodyDef.BodyType.DynamicBody);//создание актера
         body.setTransform(Box.player.getX(),Box.player.getY(),0);//расположение стрелы в точке выстрела
         strela = new Sprite(GameData.Strela);
    }
 
 
    public  void init(Vector2 vector){
        this.vector2=vector; //точка в которую должна полететь пуля
        alive=true;//состояние стрелs
        this.body.applyLinearImpulse(2*(vector2.x - body.getPosition().x), 2*vector2.y, body.getPosition().x, body.getPosition().y, true);
        }//создание движение к точке
   
 
    @Override
    public void act(float delta) {
            strela.setBounds(body.getPosition().x - 0.4f, body.getPosition().y - 0.2f, 0.8f, 0.4f);
            if((2*Box.stage.getCamera().position.x-body.getPosition().x<0)||
                    (Box.stage.getCamera().position.x-body.getPosition().x>GameData.ScreenWidth/2)){
 
                alive=false;
 
            }//проверка пули на выход за пределы камеры
    }
 
    @Override
    public void draw(Batch batch, float parentAlpha) {
         strela.draw(batch,parentAlpha);
    }
 
 
    @Override
    public void reset() {
        setPosition(0,0);
        alive = false;
        this.remove();
    }//сброс объекта
}
И главный класс в котором происходит создание пули
Java
1
2
3
4
Bullet item = bulletPool.obtain();
item.init(vector2);
activeBullets.add(item);
stage.addActor(item);//добавление актера в stage
И ее удаление если alive==false
Java
1
2
3
4
5
6
7
8
9
Bullet item;
       int len = activeBullets.size;
       for (int i = len; --i >= 0;) {
           item = activeBullets.get(i);
           if (item.alive == false) {
               activeBullets.removeIndex(i);
               bulletPool.free(item);
           }
       }
Проблема заключается в том что после того как пуля удаляется если попадает за пределы экрана,не происходит прорисовка пуль,хотя выстрел точно был.
Вот сами массивы
Java
1
2
3
4
5
6
7
8
private  Array<Bullet> activeBullets = new Array<Bullet>();
    private  Pool<Bullet> bulletPool = new Pool<Bullet>() {
        @Override
        protected Bullet newObject() {
            return new Bullet(world);
        }
 
    };
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2016, 18:01     Работа с libgdx
Посмотрите здесь:

Не получается указать путь для андроид (LibGDX) (FileInputStream ObjectInputStream) - Программирование Android
Всем привет! Помогите прочитать файл потока(ObjectInputStream) &quot;Локально-Gdx.files.getLocalStoragePath()&quot; или...

Libgdx или android studio для создания текстового симулятора - Программирование Android
Здравствуйте. В планах создать текстовый симулятор для андроида на подобии &quot;Бомжары&quot;. что лучше для этого использовать: возможности android...

Не могу сделать простейшую Libgdx-игру, одна и та же ошибка вылетает - Программирование Android
Всем привет! Дело такое. Только-только начал учиться работать с Libgdx-библиотекой. Хотел простую desktop-игрушку для начала...

Что лучше изучить для создания игр 2D? Unity 3D или libGDX - Программирование Android
Здравствуйте! В данные момент разрабатываю только приложения для Android с помощью Android Studio. Начал изучать для разработки игры...

LibGDX на html(5) - HTML, CSS
Здравствуйте.В libGDX можно делать приложения GWT и выкладывать на Apache или Nginx. Сделал все как по инструкции, все получилось и я...

Unity or Libgdx - .NET
Что же выбрать?Мобильная разработка.

Таймер в libgdx - Java ME
Привет всем...пишу игру на libgdx..нужно ,что бы каждые 5 секунд выполнялось какое то действие...Как поставить для этого таймер???

Progressbar in Libgdx - Java
Привет всем)))Только начал изучать Java и Libgdx)))Дали написать простенькую игру ,где двоя дерутся...Ну вот наткнулся на вопросик...Для...

LibGDX и версия JDK - Графика и игры
Здавствуйте, недавно начал изучать фреймворк LibGDX. Хотелось бы узнать, поддерживает ли он версии Java 7/8. После герерации проекта, я...

Создание тела в libgdx - Unity, Unity3D
Как убрать рамку вокруг тела , которая остается после создания актера bDef=new BodyDef(); ...

Libgdx. Ошибка импорта jogl - Java SE
Всем здравствуйте. О libgdx узнал недавно, движок показался интересным. Cтал смотреть исходники, уроки, и т. д. Во всех мною...

Libgdx. Нужно сделать паузу - Java SE
Имеется класс типа: class ApplicationWindow extends ApplicationAdapter { private Box2DDebugRenderer renderer; private World...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru