Результаты поиска
|
|
dwarven | Дата: Пятница, 18 Октября 2013, 00:50 | Сообщение # 1 | Тема: Классическая змейка |
был не раз
Сейчас нет на сайте
| Здравствуйте, движок slick2d Java не могу додумать как сделать в змейки классическое передвижение когда например пару квадратов идут вниз а пол змеии еще с боку) и расстояние между ними туплю по строшному)) еду сделал 1 примитив кушает другой))
Код import java.util.ArrayList;
import org.newdawn.slick.GameContainer; import org.newdawn.slick.Graphics; import org.newdawn.slick.Image; import org.newdawn.slick.Input; import org.newdawn.slick.SlickException; import org.newdawn.slick.geom.Rectangle; import org.newdawn.slick.geom.Vector2f; import org.newdawn.slick.tiled.TiledMap; import org.newdawn.slick.geom.Point; public class Player { private float x; private float y; private float tx; private float ty; private Vector2f pos = new Vector2f(x,y); private Vector2f posen = new Vector2f(x,y); private int q=1; private int temp=0; private ArrayList<Vector2f> snakes = new ArrayList<Vector2f>();;
protected Image bullet; private int k; private int raz; private int val; private int n; private int n1; public Player(int raz) { this.raz=raz;
} public void update(GameContainer gc, int delta) { Vector2f trans = new Vector2f(0, 0);
//Vector2f trans = new Vector2f(0, 0); // Vector contains a value with components x & y ArrayList<Vector2f> snake = new ArrayList<Vector2f>(); Input input = gc.getInput(); snake.add(new Vector2f(0, 0)); if (input.isKeyDown(Input.KEY_W) && (pos.y>=5)) { trans.y = -0.2f * delta; for (Vector2f pos : snakes) { pos.y=(float) (pos.y+Math.floor(trans.y)) ; } } //this.sprite=spritemove; if( (n==0)&& (n1==0 )) { snakes.add(new Vector2f(pos.x, pos.y)); n1=1; } if ((input.isKeyDown(Input.KEY_S)) && (pos.y<=580)) { //trans.y = 0.2f * delta; trans.y = 0.2f * delta; for (Vector2f pos : snakes) { pos.y=(float) (pos.y+Math.floor(trans.y)); } } if (input.isKeyDown(Input.KEY_D)&& (pos.x<=780)) { trans.x = 0.2f * delta; for (Vector2f pos : snakes) { pos.x=(float) (pos.x+Math.floor(trans.x)); } } if (input.isKeyDown(Input.KEY_A) && (pos.x>=5)){ trans.x = -0.2f * delta; for (Vector2f pos : snakes) { pos.x=(float) (pos.x+Math.floor(trans.x)); } } if (input.isKeyDown(Input.KEY_ESCAPE)) gc.exit(); if(val==1) { snakes.add(new Vector2f(pos.x, pos.y)); }
//System.out.println("Player" + pos.x); //System.out.println("Eat" + posen.x);
pos.y += Math.floor(trans.y); pos.x += Math.floor(trans.x); k=1; System.out.println(raz); } public void render(Graphics g) { //g.drawRect(pos.x, pos.y, 15, 15); for (Vector2f pos : snakes) { g.drawRect(pos.x, pos.y, 15, 15); } } public int getQ() { return q; } public Vector2f getPos() { return pos; } public float getX() { return pos.x; }
public float getY() { return pos.y; }
public void setRaz(int val) { this.val=val; }
public void setN(int n) { this.n=n; }
}
В общем класс игрока про просивку подскажите_
|
|
| |
dwarven | Дата: Среда, 02 Октября 2013, 22:02 | Сообщение # 2 | Тема: Попадание пули slick2d |
был не раз
Сейчас нет на сайте
| Здравствуйте=) С вами опять я какую проврерку сделать на попадание пули (ну чтобы исчез объект при попадании) туплю страшно))) нужно провреть попадание в квадрат как я понял
|
|
| |
dwarven | Дата: Воскресенье, 29 Сентября 2013, 15:05 | Сообщение # 3 | Тема: Прорисовка пуль slick2d |
был не раз
Сейчас нет на сайте
| MR_Borg, эту проблему уже решил почти так же (не люблю булен по этому обычный инт юзаю=) теперь думаю как передавать постоянно кординаты
|
|
| |
dwarven | Дата: Воскресенье, 29 Сентября 2013, 02:37 | Сообщение # 4 | Тема: Прорисовка пуль slick2d |
был не раз
Сейчас нет на сайте
| Нет суть вообще не в этом=) Опять проблемы с отрисовкой, все добавляю вот кусок кода из класса bullet
Код if (input.isKeyDown(Input.KEY_E)){ trans.y+=delta; bull.y+=+trans.y; Это update и отрисовываю пулю вопервых пуля летит кототкое расстояние(ну это понятно вроде хотя не совсем) если пишу trans.y+=10f*delta; то дальность становится больше и вижу лишь начальное и конечное положение патрона при прорисовки(либо с большой скоростью отрисовывает либо сразу отрисовывает в нужном месте и еще вижу только при зажатой кнопке(ну это не суть))
|
|
| |
dwarven | Дата: Воскресенье, 29 Сентября 2013, 02:16 | Сообщение # 5 | Тема: Прорисовка пуль slick2d |
был не раз
Сейчас нет на сайте
| Из предыдущего топика усвоил немного разобарлся с update суть проблемы в том что вижу лишь начальное и конечное положение пули
Код trans.y+=10f*delta; bull.y=bull.y+trans.y; Класс булет метод update
[code]
sprite.draw(bull.x, bull.y); render в общем-то в главном классе от правляю на перерисовку без цикла(пробывал и с циклом )
|
|
| |
dwarven | Дата: Суббота, 28 Сентября 2013, 22:25 | Сообщение # 6 | Тема: Простой по графике движок на Java |
был не раз
Сейчас нет на сайте
| Удачи вам!
|
|
| |
dwarven | Дата: Суббота, 28 Сентября 2013, 17:07 | Сообщение # 7 | Тема: slick2d Стрельба персонажа |
был не раз
Сейчас нет на сайте
| Цитата (x-and1988) Я то думал хобби... В таком случае да, что начал, то и делай. Желаение есть=(Времени нету дали курсовой на яве нужно сделать и забыть)Добавлено (28.09.2013, 17:07) ---------------------------------------------
Код time+=delta; trans.y = -0.9f * time*0.1f; bull.y+=trans.y; переписал код в метод update сделал, как вы выразились более валидным, но вижу как летит снаряд только при зажатии кнопки
Скорость пробывал меньше сделать(
|
|
| |
dwarven | Дата: Суббота, 28 Сентября 2013, 17:02 | Сообщение # 8 | Тема: 2D MMORPG |
был не раз
Сейчас нет на сайте
| Как бы человек имел ввиду не мморпг как какжется мне , а что-то необыкновенно простое=) Типа проход по карте, парочка квестов(например 1=))) И убить 2-3 монстра.... Это реально досчить имея представления о яп и зная хотябы основы 1 из них=) Сомневаюсь что ты будешь писать на чистом си, следовательно будешь использывать ООП подход, но опять же 2 без первого не возможно так что реквестирую: 1)Сделать обычные программки на структурных языках например си (Циклы, файлы, условия, элементарная логика) 2)Поработать с ООП например с языком Java (сделать простенькие задачи), затем поработать со swing (чтобы хоть как-то понять как работает) 3)И делать игру по частям например карту и прочее
P.S выше изложен не имоверный бред=)
|
|
| |
dwarven | Дата: Суббота, 28 Сентября 2013, 16:55 | Сообщение # 9 | Тема: Простой по графике движок на Java |
был не раз
Сейчас нет на сайте
| Кстати и не слышал простых движком с AI=)
|
|
| |
dwarven | Дата: Суббота, 28 Сентября 2013, 01:46 | Сообщение # 10 | Тема: slick2d Стрельба персонажа |
был не раз
Сейчас нет на сайте
| Цитата (x-and1988) А зря, так придется привыкать и узнавать одну архитектуру, а потом менять на другую. А менять то надо будет... Я студент написал курсовой проект забыл)
|
|
| |
dwarven | Дата: Суббота, 28 Сентября 2013, 01:34 | Сообщение # 11 | Тема: slick2d Стрельба персонажа |
был не раз
Сейчас нет на сайте
| коней на переправе не меняют. Спасибо попробую сделать так(я сделал так называемый метод в лоб как думал)Добавлено (28.09.2013, 01:34) ---------------------------------------------
Цитата (DARKLORD) Икс, ну ты нашел кому советовать переходить куда-то. Пусть учится на слике, он проще. А главное пусть учится писать нормальный, валидатный код. По поводу валидности, есть такой грешок у меня ,в начале в лоб потом рефакторинг долгий и упорный. Все мы учимся рано или поздно(
|
|
| |
dwarven | Дата: Пятница, 27 Сентября 2013, 23:26 | Сообщение # 12 | Тема: slick2d Стрельба персонажа |
был не раз
Сейчас нет на сайте
| Привет всем начинающий "игродел" не могу придумать как сделать вылет пуль с задержкой происходит вот что :
собственно куски кода
Код public void render() { if(temp==1) { tem=tem+25; sprite.draw(bull.x+54, tem); } } Это именно класс булет
и в главном классе подача на отрисовку Код try { for(int i=0;i<10;i++ , Thread.sleep(del)){ bull.render(); del+=10; } } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Понимаю, что сделано не рационально, но хочу именно так ибо делаю сам и получаю опыт для себя, а не для кого либо! Движок Slick2d Java + lwjgl подскажите как сделать! зарание благодарен!
|
|
| |