私はいくつかのスプライトを使ってこの動きをキーボードとやり取りしようとしています。 1)キャラクターの動きはアニメーションそのものには向いていません(既にアニメーション化されている間に1秒ほど後に動き始めます)。私が本当にしたいのは、この問題のために私が得る「初期の加速感」なしで動くことです。 2)キーを押したときに直面すべき位置に文字を向ける方法は考えられません解放されます。私はここのコードを投稿しますが、それは正常に動作し、あなたがそれをチェックアウトしたい場合、私は、このリンクで利用可能skecthを作ったので、小さくないために、画像を必要とするので:https://www.openprocessing.org/sketch/439572スプライト動きに応じて滑らかな動きと向き合った位置
PImage[] reverseRun = new PImage [16];
PImage[] zeroArray = new PImage [16];
void setup(){
size(800,600);
//Right Facing
for(int i = 0; i < zeroArray.length; i++){
zeroArray[i] = loadImage (i + ".png");
zeroArray[i].resize(155,155);
}
//Left Facing
for(int z = 0; z < reverseRun.length; z++){
reverseRun[z] = loadImage ("mirror" + z + ".png");
reverseRun[z].resize(155,155);
}
}
void draw(){
frameRate(15);
background(255);
imageMode(CENTER);
if(x > width+10){
x = 0;
} else if (x < - 10){
x = width;}
if (i >= zeroArray.length){
i = 3;} //looping to generate constant motiion
if (z >= reverseRun.length){
z = 3;} //looping to generate constant motiion
if (isRight) {
image(zeroArray[i], x, 300);
i++;
} //going through the images at the array
else if (isLeft) {
image(reverseRun[z],x,300);
z++;
} going through the images at the array
else if(!isRight){
image(zeroArray[i], x, 300);
i = 0; } //"stoped" sprite
}
}
//movement
float x = 300;
float y = 300;
float i = 0;
float z = 0;
float speed = 25;
boolean isLeft, isRight, isUp, isDown;
void keyPressed() {
setMove(keyCode, true);
if (isLeft){
x -= speed;
}
if(isRight){
x += speed;
}
}
void keyReleased() {
setMove(keyCode, false);
}
boolean setMove(int k, boolean b) {
switch (k) {
case UP:
return isUp = b;
case DOWN:
return isDown = b;
case LEFT:
return isLeft = b;
case RIGHT:
return isRight = b;
default:
return b; }
}
もう一度ありがとうkevin workmanあなたは私の一日を救った。 Btwあなたのサイトは素晴らしいですが、私はそれを使ってより多くのことを学びます。 –