在下面这个问题的答案做了伟大的工作,解释之间的差异classical inheritance和prototypal inheritance.这是我感兴趣的,因为我开始使用Java,但转移到Javascript.
在他的回答中,他说prototypal inheritance,"关于课程的所有业务都会消失.如果你想要一个对象,你只需要写一个对象."
然而,关于如何在Javascript中"编写类" 有很多文档和问题.
为什么要推动语言不是.我正在寻找具体的例子,在这种情况下,使用JS应用程序中的类在这种原型语言中更为明智,以及将方形钉固定在圆孔中的好处.正如Aravind所说的那样,为什么人们通过将Javascript与其他人进行比较来学习Javascript,而不是因为它的目的......并且为什么这种做法似乎受到鼓励?
底线问题:为什么要在ECMAScript 6中引入类?
我想关闭PHPStorm的非错误突出显示非错误相关的事情.

我读了他们的文档,据说去了偏好 - >编辑 - >检查.我取消了所有SQL的选择,但我仍然无缘无故地获得了这个绿色突出显示:

如何禁用此功能?这令人分心.
我正在使用Elastic Beanstalk在AWS EC2服务器上托管我的PHP项目.我已经设置了我的ENV Vars php dotenv,这似乎是从我的根.env文件中获得我的vars :
DbConnect.php:
require '../vendor/autoload.php';
$dotenv = new Dotenv($_SERVER['DOCUMENT_ROOT']);
$dotenv->load();
$DB_HOST = getenv('DB_HOST');
$DB_USERNAME = getenv('DB_USERNAME');
$DB_PASSWORD = getenv('DB_PASSWORD');
$DB_DATABASE = getenv('DB_DATABASE');
$mysqli = new mysqli($DB_HOST, $DB_USERNAME, $DB_PASSWORD, $DB_DATABASE);
Run Code Online (Sandbox Code Playgroud)
因此,在AWS管理控制台中,我在软件配置,git推送和重新部署中设置了相同的名称ENV vars.我收到500错误,因为EC2 ENV变量似乎没有恢复.

我还需要做些什么吗?
更新:
eb printenv 显示正确的env var值.
我正在尝试遵循melonJS教程.它说我应该使用以下两种方法之一禁用跨源请求:
- 禁用网络安全
--allow-文件访问从档案**
我在命令提示符中尝试了这两个:
C:\Users\danniu>C:\Users\danniu\AppData\Local\Google\Chrome\Application\Chrome.e
xe --allow-file-access-from-files
C:\Users\danniu>C:\Users\danniu\AppData\Local\Google\Chrome\Application\Chrome.e
xe --disable-web-security
Run Code Online (Sandbox Code Playgroud)
当我尝试在Chrome中运行游戏时,我仍然收到此错误:
XMLHttpRequest cannot load file:///C:/Users/danniu/Desktop/JavaScript/melonJS/data/map/area01.tmx. Cross origin requests are only supported for HTTP.
我究竟做错了什么?
谢谢
给定以下树结构,每个登录的玩家可以拥有当前和完成级别的数据,每个级别的任务,每个任务的NPC以及每个NPC的多个任务...我正在尝试找出存储当前的最佳方式每个玩家完成的数据.

我之前问了这个问题,虽然细节太多了.有人要求我概括这个问题......所以如果你想了解更多背景,请看这里:
有关我的RPG结构的一些信息:
NPC对话框和任务对话框数据存储在npc_dialog_1.js文件中的js对象中,结构如下:
var dialog = {
quests : {
questName : {
NPCName: {
TaskName: {
"english" :
[
"Hello, here is some dialog",
],//more items per task
}, //more tasks per NPC
}, //more NPCs per quest
}, //more quests options per "quests"
}, //more options in dialog besides "quests" if I want
};
Run Code Online (Sandbox Code Playgroud)
我将每个dialog对象存储在npc_dialog_n.js每个地图的单独文件中,我正在检索requireJS.这将减少单个npc_dialog文件中的混乱.
然而,每个任务的NPC可以以任何顺序启动......这是试图模仿GTA风格的任务队列,因为游戏遵循一般的线性进展,但是对于每个任务,你可以与多个NPC对话并开始,暂停,并在任何时候恢复NPC的任务.
由于玩家可以在给定时间按任何NPC启动,暂停和恢复任务,我正在尝试找出存储每个玩家当前和已完成数据的最佳方法.
mfirdaus推荐以下数据库表格与M:M关系b/t user&npc ...然而这会很快加起来,因为每个玩家每个任务可以有多个NPC,并且每个NPC启动多个任务......任何方式都围绕这个集合吗?

我当前的数据库架构
:
谢谢
我想获得 360 度的角度......对于我的游戏,我需要知道玩家正朝着哪个方向前进......

此处的代码获得正确的角度,但仅以 90 度为增量:(意思是,当我单击左上象限时,我得到的角度为 0 到 90 度……左下角为 0 到 -90 度,等等。 ..)

var dY = this.pos.y-e.gameY; //opposite
var dX = this.pos.x-e.gameX; //adjacent
var dist = Math.sqrt((dY*dY)+(dX*dX)); //hypotenuse
var sin = dY/dist; //opposite over hypotenuse
var radians = Math.asin(sin);
var degrees = radians*(180/Math.PI); //convert from radians to degrees
this.calculatedAngle = degrees;
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到它的 360 度?
这是另一个示例:前两个代表问题...当我单击左上/左下象限时,它一直在从 x 轴绘制一个直角三角形...
我需要它像下面的 2 张图片一样,它一直在绘制角度:

我得到了一个新的领域,并希望从改变我的魔豆弹性的应用程序名称domain-name.elasticbeanstalk.com来www.domain-name.com。当我创建 EB 应用程序时,我选择了单实例。
我按照这些说明设置了域。我选择了我的负载均衡器,但我的域似乎映射到我拥有的另一个应用程序。这似乎是因为我只使用另一个 EB 应用程序创建了一个负载均衡器,而不是我尝试将域映射到的当前应用程序。
我的问题是:
1) 如何使用单个负载均衡器(与不同的应用程序关联)正确指向域?这可能是不可能的。
2) 如何向现有 EB 应用程序追溯添加负载均衡器?或者我是否必须重新创建 EB 应用程序并在那时添加负载均衡器?
我想以度为单位计算鼠标移动的角度.虽然我知道你不必直线移动鼠标,但我只是想根据起点和终点来计算它,以创造一个漂亮的直角.
log("ANGLE: " + getAngle(x1, y1, x2, y2)); 给出了奇怪的结果:
ANGLE: 0.24035975832980774
mouse has stopped
ANGLE: 1.334887709726425
mouse has stopped
ANGLE: 0.2722859857950508
mouse has stopped
ANGLE: 0.3715485780567732
mouse has stopped
Run Code Online (Sandbox Code Playgroud)
码:
$("canvas").mousemove(function(e) {
getDirection(e);
if (!set) {
x1 = e.pageX, //set starting mouse x
y1 = e.pageY, //set starting mouse y
set = true;
}
clearTimeout(thread);
thread = setTimeout(callback.bind(this, e), 100);
});
function getAngle (x1, y1, x2, y2) {
var distY = Math.abs(y2-y1); //opposite
var distX = Math.abs(x2-x1); //adjacent
var dist …Run Code Online (Sandbox Code Playgroud) 我正在js中使用melon JS和SQL DB和PHP制作一个Web RPG.这个问题是关于如何存储每个非玩家角色(NPC)的已完成和当前任务.
NPC对话框和任务数据:所有对话框都存储在以下结构的js对象中:
var dialog = {
quests : {
quest1 : {
NPCName ("Joe"): {
TaskName ("1 - Introductions") : {
"english" :
[
"Hello, here is some dialog",
"More dialog..." (stored in array so I can cycle through it)
],//more items per task
}, //more tasks per NPC
}, //more NPCs per quest
}, //more quests options per "quests"
}, //more options in dialog besides "quests" if I want
};
Run Code Online (Sandbox Code Playgroud)
我没有将所有地图对话框存储在同一个文件中,因为文件会变得太杂乱......所以:当地图发生变化时,我会用一组新的对话框js_require加载一个新 …
我正在关注此节点/角度教程,并收到以下错误:

我通过节点引导我的应用程序,它呈现索引页面:
module.exports = function(app) {
app.get('*', function(req, res) {
res.sendfile('./public/index.html');
...
});
Run Code Online (Sandbox Code Playgroud)
哪个呈现:
<html ng-app="DDE">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers/main.js"></script>
</head>
<body>
This is the index page
<div ng-view></div>
Run Code Online (Sandbox Code Playgroud)
我希望Node处理初始页面加载,但是Angular可以处理其余的路由.问题在于:似乎我的角度路由不起作用.我run()在那里放了一个自我执行测试,但它没有被调用.
我只是想测试显示testpage.html模板:
app.js文件:
angular
.module('DDE', [
'ngRoute'
])
.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/test', {
run : (function() {
alert('hit');
})(),
templateUrl: '../html/partials/testpage.html'
}).
otherwise({
redirectTo: '/test'
});
}
]);
Run Code Online (Sandbox Code Playgroud)
角度误差不是很有帮助.我不知道是什么Unexpected token <意思,因为我无法找到我在<任何地方添加额外内容的地方.
编辑:
app.get('/', …Run Code Online (Sandbox Code Playgroud) javascript ×7
php ×3
amazon-ec2 ×2
geometry ×2
mysql ×2
angle ×1
angularjs ×1
dns ×1
game-engine ×1
html ×1
inheritance ×1
math ×1
melonjs ×1
node.js ×1
phpstorm ×1
security ×1
storage ×1