Jump to content

Bernard Weger

Membros
  • Contagem de Conteúdo

    4
  • Ingressou

  • Última visita

Clientes & Parceiros

  • Você é um cliente TecnoSpeed?
    Não
  • Você é um parceiro da Casa do Desenvolvedor?
    Não

Visitantes Recentes do Perfil

O bloco de visitantes recentes está desativado e não está sendo mostrado a outros usuários.

Conquistas de Bernard Weger

  • Positividade Raro

Emblemas Recentes

2

Reputação na Comunidade

  1. Resolvido amigo! Sua dica foi muito valisosa para mim! Realmente estava pegando o valor do centro da tela e nao do PositionX do devido elemente a ser criado!!! Obrigado! o Codigo ficou assim float x =(float) positionX; float y = (float) positionY;;
  2. Olá amigo! Sim, essas sao as coordenadas do monstro, ele até chega a inserir a HealthBar sobre o monstro, vou lhe enviar uma foto do que esta ocorrendo.... O problema nao e inserir a barra sobre o mosntro e sim que ao movimentar o joyStick a barra sai da cabeça do monstro acontecendo o que vc esta dizendo, que parece que estou inserindo as coordendas do player. A primera foto é a posição inicial do player.. Perceba que esta com o HealthBar, más ao mover o player a barra desalinha da cabeça do monstro. Vou adicionar a outra classe que pega esses valor. package com.example.bwgame; import android.graphics.Rect; import android.view.Display; import com.example.bwgame.gameobject.GameObject; import com.example.bwgame.gameobject.Player; public class GameDisplay { public final Rect DISPLAY_RECT; private final int widthPixels; private final int heightPixels; private final GameObject centerObject; private final double displayCenterX; private final double displayCenterY; private double gameToDisplayCoordinatesOffsetX; private double gameToDisplayCoordinatesOffsetY; private double gameCenterX; private double gameCenterY; public GameDisplay(int widthPixels, int heightPixels, GameObject centerObject) { this.widthPixels = widthPixels; this.heightPixels = heightPixels; DISPLAY_RECT = new Rect(0, 0, widthPixels, heightPixels); this.centerObject = centerObject; displayCenterX = widthPixels/2.0; displayCenterY = heightPixels/2.0; update(); } public void update() { gameCenterX = centerObject.getPositionX(); gameCenterY = centerObject.getPositionY(); gameToDisplayCoordinatesOffsetX = displayCenterX - gameCenterX; gameToDisplayCoordinatesOffsetY = displayCenterY - gameCenterY; } public double gameToDisplayCoordinatesX(double x) { return x + gameToDisplayCoordinatesOffsetX; } public double gameToDisplayCoordinatesY(double y) { return y + gameToDisplayCoordinatesOffsetY; } public Rect getGameRect() { return new Rect( (int) (gameCenterX - widthPixels/2), (int) (gameCenterY - heightPixels/2), (int) (gameCenterX + widthPixels/2), (int) (gameCenterY + heightPixels/2) ); } } Desde ja agradeço sua ajuda!
  3. Olá amigos, estou desenvolvendo um jogo, e me deparei com um problema que esta complicado de resolver.... estou criando um healthBar para visualizar a vida dos monstros criados. COnsegui adicionar o abençoado com o metodo canvas.drawRect. Só que tem um problema, ao movimentar o personagem, o mesmo nao fica atrelado ao monstro, ele sai andando por ai 😞 Vou disponilizar um pouquinho do que estou fazendo... public void draw(Canvas canvas, GameDisplay gameDisplay) { float width = 80; float height = 15; float margin = 2; float x = (float) gameDisplay.gameToDisplayCoordinatesX(positionX)-100; float y = (float) gameDisplay.gameToDisplayCoordinatesY(positionY); float distanceToPlayer = 75; // draw circle canvas.drawCircle( (float) gameDisplay.gameToDisplayCoordinatesX(positionX), (float) gameDisplay.gameToDisplayCoordinatesY(positionY), (float) radius, paint ); // Draw border float borderLeft, borderTop, borderRight, borderBottom; borderLeft = x - width / 2; borderRight = x + width / 2; borderBottom = y - distanceToPlayer; borderTop = borderBottom - height; canvas.drawRect( (float) gameDisplay.gameToDisplayCoordinatesX(borderLeft), (float) gameDisplay.gameToDisplayCoordinatesY(borderTop), (float) gameDisplay.gameToDisplayCoordinatesX(borderRight), (float) gameDisplay.gameToDisplayCoordinatesY(borderBottom), borderPaint); // Draw health float healthLeft, healthTop, healthRight, healthBottom, healthWidth, healthHeight; healthWidth = width - 2 * margin; healthHeight = height - 2 * margin; healthLeft = borderLeft + margin; healthRight = healthLeft + healthWidth * 1; healthBottom = borderBottom - margin; healthTop = healthBottom - healthHeight; canvas.drawRect( (float) gameDisplay.gameToDisplayCoordinatesX(healthLeft), (float) gameDisplay.gameToDisplayCoordinatesY(healthTop), (float) gameDisplay.gameToDisplayCoordinatesX(healthRight), (float) gameDisplay.gameToDisplayCoordinatesY(healthBottom), healthPaint); } No codigo acima eu crio um circulo e depois coloco a barra acima do circulo... Mas ao andar com o joystick a barra se separa do circulo, como "unifica-los" para andarem juntos? ao monstro andar, a barra fica perfeita, se movimenta pelo mapa sobre o monstro, más ao movimentar o joystick ela se movimenta de acordo com o player...
×
×
  • Create New...