adicionado movimento a imagen do player
Quero uma ajuda ,, no arquivo player.java tem o trexo da imagem que vai e adicionada para representa o player ,que e essa ai em baixo.
Quero adiciona o codigo de movimento da imagen Que esse codigo ai em baixo.
```
Como poso fazer isso .
Todo trexo di player eh esse aqui .
baseTraits.iconID = TileManager.CHAR_HERO;
Quero adiciona o codigo de movimento da imagen Que esse codigo ai em baixo.
package com.gpl.rpg.AndorsTrail.model.actor;
import java.util.Random;
import android.graphics.Bitmap ;
import android.media.*;
import android.view.*;
import java.io.*;
import android.graphics.drawable.*;
import com.gpl.rpg.AndorsTrail.controller.listeners.*;
import com.gpl.rpg.AndorsTrail.util.*;
import com.gpl.rpg.AndorsTrail.model.map.*;
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
import com.gpl.rpg.AndorsTrail.util.Coord;
import com.gpl.rpg.AndorsTrail.util.ListOfListeners;
import java.io.BufferedReader;
import android.view.View.*;
import android.text.style.*;
import com.gpl.rpg.AndorsTrail.resource.tiles.*;
public class PlayerChar {
private boolean fromBreak;
private int iFromBreak;
private int x,y,dx,dy,key,dir;
Image[][] Player = new Image[4][3];
private Object[] Sprite
;
//private Object[] iconID;//
public PlayerChar (int x, int y, Image[][] Sprite ) {
this.x = x;
this.y = y;
dx = 0;
dy = 0;
System.arraycopy(Sprite[0], 0, this.Sprite[0], 0, 3);
System.arraycopy(Sprite[1], 0, this.Sprite[1], 0, 3);
System.arraycopy(Sprite[2], 0, this.Sprite[2], 0, 3);
System.arraycopy(Sprite[3], 0, this.Sprite[3], 0, 3);return ;
}
public void move(boolean[] player)
{
// TODO: Implement this method
}
public void move(boolean[] player, int[] directions) {
fromBreak = false;
for(int i = 0; i < player.length; i++) {
if(player[i]) {
fromBreak = true;
iFromBreak = directions[i];
break;
}
}
if(fromBreak) {
switch(iFromBreak){
case 0:
if(dy != -1) {
y += dy + 1;
}
break;
case 1:
if(dx != 1) {
x += dx - 1;
}
break;
case 2:
if(dy != 1) {
y += dy - 1;
}
break;
case 3:
if(dx != -1) {
x += dx + 1;
}
break;
}
} else {
x += dx;
y += dy;
}
}
public void keyPressed(KeyEvent e) {
key = e.getKeyCode();
switch(key) {
case KeyEvent.KEYCODE_DPAD_UP:
dy = -1;
dir = 0;
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
dy = 1;
dir = 2;
break;
case KeyEvent.KEYCODE_DPAD_LEFT:
dx = -1;
dir = 3;
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
dx = 1;
dir = 1;
break;
}
}
public void keyReleased(KeyEvent e) {
key = e.getKeyCode();
switch(key) {
case KeyEvent.KEYCODE_DPAD_UP:
dy = 0;
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
dy = 0;
break;
case KeyEvent.KEYCODE_DPAD_LEFT:
dx = 0;
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
dx = 0;
break;
}
}
public int previousPosition() {
return dir;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
}```
Como poso fazer isso .
Todo trexo di player eh esse aqui .
package com.gpl.rpg.AndorsTrail.model.actor;
import android.util.FloatMath;
import android.util.SparseIntArray;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.context.ControllerContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.controller.Constants;
import com.gpl.rpg.AndorsTrail.model.ability.ActorCondition;
import com.gpl.rpg.AndorsTrail.model.ability.SkillCollection;
import com.gpl.rpg.AndorsTrail.model.item.DropListCollection;
import com.gpl.rpg.AndorsTrail.model.item.Inventory;
import com.gpl.rpg.AndorsTrail.model.item.Loot;
import com.gpl.rpg.AndorsTrail.model.quest.QuestProgress;
import com.gpl.rpg.AndorsTrail.resource.tiles.TileManager;
import com.gpl.rpg.AndorsTrail.savegames.LegacySavegameFormatReaderForPlayer;
import com.gpl.rpg.AndorsTrail.util.Coord;
import com.gpl.rpg.AndorsTrail.util.Range;
import com.gpl.rpg.AndorsTrail.util.Size;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map.Entry;
import android.media.*;
import com.gdacarv.engine.androidgame.*;
import android.transition.*;
public final class Player extends Actor {
public static final int DEFAULT_PLAYER_ATTACKCOST = 4;
public final Coord lastPosition;
public final Coord nextPosition;
// TODO: Should be privates
public int level;
public final PlayerMovement MoveImage = new PlayerMovement();
public final PlayerBaseTraits baseTraits = new PlayerBaseTraits();
public final Range levelExperience; // ranges from 0 to the delta-amount of exp required for next level
public final Inventory inventory;
private final SparseIntArray skillLevels = new SparseIntArray();
public int availableSkillIncreases = 0;
public int useItemCost;
public int reequipCost;
public int totalExperience;
private final HashMap<String, HashSet<Integer> > questProgress = new HashMap<String, HashSet<Integer> >();
private String spawnMap;
private String spawnPlace;
private final HashMap<String, Integer> alignments = new HashMap<String, Integer>();
// Unequipped stats
public static final class PlayerBaseTraits {
public int iconID;
public int maxAP;
public int maxHP;
public int moveCost;
public int attackCost;
public int attackChance;
public int criticalSkill;
public float criticalMultiplier;
public final Range damagePotential = new Range();
public int blockChance;
public int damageResistance;
public int useItemCost;
public int reequipCost;
}
public static final class PlayerMovement {
public int sprites;
public int PlayerChar;
}
public void resetStatsToBaseTraits() {
this.iconID = this.baseTraits.iconID;
this.ap.max = this.baseTraits.maxAP;
this.health.max = this.baseTraits.maxHP;
this.moveCost = this.baseTraits.moveCost;
this.attackCost = this.baseTraits.attackCost;
this.attackChance = this.baseTraits.attackChance;
this.criticalSkill = this.baseTraits.criticalSkill;
this.criticalMultiplier = this.baseTraits.criticalMultiplier;
this.damagePotential.set(this.baseTraits.damagePotential);
this.blockChance = this.baseTraits.blockChance;
this.damageResistance = this.baseTraits.damageResistance;
this.useItemCost = this.baseTraits.useItemCost;
this.reequipCost = this.baseTraits.reequipCost;
}
public void resetStatsToPlayerMovement() {
}
public Player() {
super(
new Size(1, 1)
, true // isPlayer
, false // isImmuneToCriticalHits
);
this.lastPosition = new Coord();
this.nextPosition = new Coord();
this.levelExperience = new Range();
this.inventory = new Inventory();
}
//esse trexo eu que adicionei ta em teste //
public void initializeNewPlayerMovement(PlayerChar Sprite){
boolean[] Player = null;
Sprite.move(Player);
}
public void initializeNewPlayer(DropListCollection dropLists, String playerName) {
baseTraits.iconID = TileManager.CHAR_HERO;
baseTraits.maxAP = 10;
baseT
Lukas Florencio
Curtidas 0