javascript - 无法读取未定义的属性“x” - 蛇 [已解决]
问题描述
- 编辑 -
问题出在我调用 player.update(); 的绘图函数中。但我应该调用 player.update(apple); 谢谢您的帮助
我从头开始编码蛇,我认为问题出在蛇的部分。但我没有看到。我已经尝试过三次重写我的代码这是我第一次尝试这样的事情,所以我对问题可能是什么没有帮助。- 如果您想使用此程序而不是此处的代码,这里是程序的链接,只是为了查看 https://www.khanacademy.org/computer-programming/snakeprototype/4797370687356928上的内容 任何帮助表示感谢〜谢谢
var gameSpeed = 10;
// Declare Functions
var Player;
var Part;
var UpdateParts;
var Apple;
/*
KeyCode functions
*/
var parts = [];
var Part = function(x, y)
{
this.x = x;
this.y = y;
this.pX = this.x;
this.pY = this.y;
};
var Player = function()
{
parts[0] = new Part(200, 200);
parts[1] = new Part(200, 210);
parts[2] = new Part(200, 220);
this.update = function(apple)
{
if (parts[0].x === apple.x && parts[0].y === apple.y)
{
apple.newApple();
}
// Square
fill(27, 168, 36);
rect(parts[0].x, parts[0].y, 10, 10);
/*
Change Directions
*/
if (frameCount % gameSpeed === 0)
{
//move
if (this.direction === "up")
{
parts[0].y-=this.speed;
}
if (this.direction === "down")
{
parts[0].y+=this.speed;
}
if (this.direction === "left")
{
parts[0].x-=this.speed;
}
if (this.direction === "right")
{
parts[0].x+=this.speed;
}
}
};
};
var UpdateParts = function()
{
for (var i = 1; i < parts.length; i++)
{
if (frameCount % gameSpeed === 0)
{
parts[i].pX = parts[i].x;
parts[i].pY = parts[i].y;
parts[i].x = parts[i-1].pX;
parts[i].y = parts[i-1].pY;
}
}
};
/*
Apple function
*/
var apple = new Apple();
var player = new Player();
解决方案
推荐阅读
- java - 没有主要清单属性,在 Intellij Idea 的 jar 中,使用 Gradle
- react-native - 如何在本机反应中以编程方式测量帧速率
- linux - 如何列出某种文件格式的多个目录中所有文件的完整路径?
- sql - 通过 3 个数据库链接连接表的性能问题
- javascript - 无法使用用php编写的javascript删除iframe中的元素
- ios - iOS12 beta 中的景深坏了?
- xml - 如何验证 xml 文件中是否存在特定元素?
- sql - Oracle 数据库中的意外查询结果
- linux - “运行命令扩展执行正在进行中。请等待完成,然后再调用运行命令”
- laravel - Laravel 更新或创建