-3
なぜ私の関数変数が未定義の値を与えるのか尋ねたいだけですが、値を正しく割り当てています。ここに私のコードです。Node.jsローカル関数の未定義変数
server.jsコード
var express = require('express');
var app = express();
var server = app.listen(process.env.PORT || 3000, listen);
function listen() {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://' + host + ':' + port);
}
function asd(width, height){
this.width = width;
this.height = height;
}
app.use(express.static('public'));
var io = require('socket.io')(server);
io.sockets.on('connection',
function (socket) {
console.log("We have a new client: " + socket.id);
socket.on('display',
function(data){
asd(data.width, data.height);
console.log(asd.width);
}
);
socket.on('disconnect', function() {
console.log("Client has disconnected");
});
}
);
sketch.jsコード
var circle;
var circles = [];
var zoom = 1;
var newZoom;
var socket;
function setup() {
socket = io.connect('http://localhost:3000');
createCanvas(1366, 666);
circle = new Circle(0, 0, 64);
var data = {
width: 1366,
height: 666
};
socket.emit('display', data);
}
function draw() {
background(60);
translate(width/2, height/2);
newZoom = (64/circle.radius*1.5);
zoom = lerp(zoom, newZoom, 0.1);
scale(zoom);
translate(-circle.position.x, -circle.position.y);
for (var x = circles.length - 1; x >= 0; x--) {
if (circle.eat(circles[x])) {
circles.splice(x, 1);
}
}
circle.show();
circle.update();
circle.constrain();
for (var x = 0; x < circles.length; x++) {
circles[x].show();
}
}
Iがそのまま出力data.widthにしようとしましたコンソールログには、そこにデータがあります。助けてください。
どの変数が未定義ですか? – Heidar
@heidarMostafa asd.width – Rich