我正在用C#构建一个Unity3D客户端,用于我制作的多人游戏.服务器是用Node.js编写的,我用Javascript编写了一个运行良好的Web客户端.但是我的Unity3D客户端实现遇到了滞后问题.我正在使用websocket-sharp库,但是无法像我在带有HTML5 Websocket类的Javascript客户端上那样使用它.我相信问题在于websocket-sharp库的制作方式,目前每个Send()都会导致锁定_forSend,因此数据将像这样传输:
data1:frg1
data1:frg2
data2:frg1
data2:frg2
...
Run Code Online (Sandbox Code Playgroud)
但是在我的工作javascript实现上,它看起来像这样,因为它是真正的多线程:
data1:frg1
data2:frg1
data2:frg2
data1:frg2
Run Code Online (Sandbox Code Playgroud)
因此,我认为这是我的C#Unity实现滞后的原因,因为websockets-sharp库的行为就像这样.任何人都可以确认这是websockets-sharp库的问题或建议一个可以工作的库吗?
HTML:
<img src="img/image1.jpg" id = "image1" style="width: 100%;" allign = "center">
Run Code Online (Sandbox Code Playgroud)
JavaScript:
var image1 = document.getElementById("image1");
Run Code Online (Sandbox Code Playgroud)
我如何获得该给定图像的中心,然后将另一个具有绝对位置的图像放置在其死点之上?
我试图用箭头指向我的鼠标光标在javascript中.现在它只是猛烈旋转,而不是指向光标.
这是我的代码的小提琴:https://jsfiddle.net/pk1w095s/
以下是自己的代码:
var cv = document.createElement('canvas');
cv.width = 1224;
cv.height = 768;
document.body.appendChild(cv);
var rotA = 0;
var ctx = cv.getContext('2d');
var arrow = new Image();
var cache;
arrow.onload = function() {
cache = this;
ctx.drawImage(arrow, cache.width/2, cache.height/2);
};
arrow.src = 'https://d30y9cdsu7xlg0.cloudfront.net/png/35-200.png';
var cursorX;
var cursorY;
document.onmousemove = function(e) {
cursorX = e.pageX;
cursorY = e.pageY;
ctx.save(); //saves the state of canvas
ctx.clearRect(0, 0, cv.width, cv.height); //clear the canvas
ctx.translate(cache.width, cache.height); //let's translate
var centerX = …
Run Code Online (Sandbox Code Playgroud) 问题是 - 我需要仅蓝牙低功耗设备才能连接到 Windows 7 计算机。如果可能的话,最好使用常规 CSR 加密狗。有什么办法或者解决办法吗?
我需要在我用 Unity 构建的多人游戏中跟踪很多时间,以便知道数据包何时进入。在 Unity、Time.time 或 DateTime.UtcNow.Millisecond 中什么会更好?性能差异会有多少变化?
c# ×2
javascript ×2
unity5 ×2
bluetooth ×1
canvas ×1
cordova ×1
css ×1
html ×1
html5-canvas ×1
jquery ×1
mono ×1
performance ×1
scrollrect ×1
unity3d-gui ×1
websocket ×1
windows ×1
windows-7 ×1