Createvector 是未定义的 p5js
Createvector is undefined p5js
更新:忘了说,我正在使用 p5.js 编辑器。草图的其余部分有效,并加载图像。
当我在浏览器中 运行 这段代码时,我得到 'createVector is undefined'。根据 p5.js 的参考资料,我使用了正确的语法。
知道哪里出了问题吗?
var img;
var bg = 100;
var velocity = createVector(0,0);
var acceleration = createVector(0,0);
function setup() {
createCanvas(720, 400);
img = loadImage("assets/bb8body.png");
}
function keyPressed() {
if (keyIsPressed === true) {
if (key === 'd') {
acceleration++;
velocity.add(acceleration);
console.log(vx);
}
}
}
function damping(){
}
function draw() {
keyPressed();
background(bg);
image(img, velocity, 0);
damping();
}
我不是 100% 为什么,但是 createVector()
在 setup()
工作(不是在外面)。
此外,我发现了两个小错误:
acceleration++;
这行不通,因为 js 不支持像 c++ 这样的重载运算符,但您可以使用 p5.Vector 的 add() 函数。
此外,vx
变量在您的其余代码中不存在。
这是您的代码的修改版本,使用 p5.Vector 个实例,但为了测试目的绘制了一个小框而不是图像。您可以 运行 下面的演示:
var img;
var bg = 100;
var velocity;// = createVector(0,0);
var acceleration;// = createVector(0,0);
function setup() {
createCanvas(720, 400);
velocity = createVector(0,0);
acceleration = createVector(0,0);
//img = loadImage("assets/bb8body.png");
}
function keyPressed() {
if (keyIsPressed === true) {
if (key === 'd') {
//acceleration++;
acceleration.add(1,1);
velocity.add(acceleration);
//console.log(vx);
console.log(velocity.x);
}
}
}
function damping(){
}
function draw() {
keyPressed();
background(bg);
rect(velocity.x,velocity.y,20,20)
//image(img, velocity, 0);
damping();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.4.22/p5.min.js"></script>
更新:忘了说,我正在使用 p5.js 编辑器。草图的其余部分有效,并加载图像。
当我在浏览器中 运行 这段代码时,我得到 'createVector is undefined'。根据 p5.js 的参考资料,我使用了正确的语法。
知道哪里出了问题吗?
var img;
var bg = 100;
var velocity = createVector(0,0);
var acceleration = createVector(0,0);
function setup() {
createCanvas(720, 400);
img = loadImage("assets/bb8body.png");
}
function keyPressed() {
if (keyIsPressed === true) {
if (key === 'd') {
acceleration++;
velocity.add(acceleration);
console.log(vx);
}
}
}
function damping(){
}
function draw() {
keyPressed();
background(bg);
image(img, velocity, 0);
damping();
}
我不是 100% 为什么,但是 createVector()
在 setup()
工作(不是在外面)。
此外,我发现了两个小错误:
acceleration++;
这行不通,因为 js 不支持像 c++ 这样的重载运算符,但您可以使用 p5.Vector 的 add() 函数。
此外,vx
变量在您的其余代码中不存在。
这是您的代码的修改版本,使用 p5.Vector 个实例,但为了测试目的绘制了一个小框而不是图像。您可以 运行 下面的演示:
var img;
var bg = 100;
var velocity;// = createVector(0,0);
var acceleration;// = createVector(0,0);
function setup() {
createCanvas(720, 400);
velocity = createVector(0,0);
acceleration = createVector(0,0);
//img = loadImage("assets/bb8body.png");
}
function keyPressed() {
if (keyIsPressed === true) {
if (key === 'd') {
//acceleration++;
acceleration.add(1,1);
velocity.add(acceleration);
//console.log(vx);
console.log(velocity.x);
}
}
}
function damping(){
}
function draw() {
keyPressed();
background(bg);
rect(velocity.x,velocity.y,20,20)
//image(img, velocity, 0);
damping();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.4.22/p5.min.js"></script>