蛇身体移动 正序做法(错误)

    1. if(c==20){
    2. if(d==1){//蛇头向上走
    3. for(let j=1;j<snakeArr.length;j++){
    4. snakeArr[j].x=snakeArr[j-1].x;
    5. snakeArr[j].y=snakeArr[j-1].y-30;
    6. }
    7. for(let i=0;i<snakeArr.length;i++){
    8. // snakeArr[i].x+=speed;
    9. snakeArr[i].y-=speed;
    10. }
    11. }
    12. else if(d==2){//蛇头向下走
    13. for(let j=1;j<snakeArr.length;j++){
    14. snakeArr[j].x=snakeArr[j-1].x;
    15. snakeArr[j].y=snakeArr[j-1].y-30;
    16. }
    17. for(let i=0;i<snakeArr.length;i++){
    18. // snakeArr[i].x+=speed;
    19. snakeArr[i].y+=speed;
    20. }
    21. }
    22. else if(d==3){//蛇头向左走
    23. for(let j=1;j<snakeArr.length;j++){
    24. snakeArr[j].x=snakeArr[j-1].x;
    25. snakeArr[j].y=snakeArr[j-1].y-30;
    26. }
    27. for(let i=0;i<snakeArr.length;i++){
    28. snakeArr[i].x-=speed;
    29. // snakeArr[i].y+=speed;
    30. }
    31. }
    32. else if(d==4){//蛇头向右走
    33. for(let j=1;j<snakeArr.length;j++){
    34. snakeArr[j].x=snakeArr[j-1].x-30;
    35. snakeArr[j].y=snakeArr[j-1].y;
    36. }
    37. for(let i=0;i<snakeArr.length;i++){
    38. snakeArr[i].x+=speed;
    39. // snakeArr[i].y+=speed;
    40. // }
    41. }
    42. c=0;
    43. }
    44. c++;

    js蛇身体做法(错误)

    1. function snakeBody(){
    2. //bodyIndex++;
    3. body = new PIXI.Sprite.fromImage("res/snake/kuai0004.png");
    4. snake.addChild(body);
    5. bodyList.push(body);
    6. body.anchor.set(0.5,0.5);
    7. }
    8. function snakeBodyY(){//蛇身体y坐标
    9. snakeBody();
    10. snakeBody();
    11. snakeBody();
    12. snakeBody();
    13. snakeBody();
    14. bodyList[0].y = snake.y-165;//165
    15. for(let a=1;a<bodyList.length;a++){
    16. bodyList[a].y=bodyList[a-1].y - 30;
    17. }
    18. }

    蛇身体移动move方法(错误)

    1. function move(){
    2. if(c==20){
    3. if(d==1){
    4. snake.y-=speed;
    5. }
    6. else if(d==2){
    7. snake.y+=speed;
    8. }
    9. else if(d==3){
    10. snake.x-=speed;
    11. }
    12. else if(d==4){
    13. snake.x+=speed;
    14. }
    15. c=0;
    16. }
    17. c++;
    18. }

    键盘事件

    1. function keyboard(){
    2. document.onkeydown = keyDown;
    3. function keyDown(event){ // 方向键控制元素移动函数
    4. var event = event || window.event; // 标准化事件对象
    5. switch(event.keyCode){ // 获取当前按下键盘键的编码
    6. case 37 : // 按下左箭头键
    7. case 65 : //按下a
    8. if(d!=4){
    9. d=3;
    10. }
    11. break;
    12. case 39 : // 按下右箭头键
    13. case 68 : //按下d
    14. if(d!=3){
    15. d=4;
    16. }
    17. break;
    18. case 38 : // 按下上箭头键
    19. case 87 : //按下w
    20. if(d!=2){
    21. d=1;
    22. }
    23. break;
    24. case 40 : // 按下下箭头键
    25. case 83 : //按下s
    26. if(d!=1){
    27. d=2;
    28. }
    29. break;
    30. }
    31. }
    32. }