Javascript jQuery调试功能在a";“类”;文件
我正在创建一个简单的游戏,我需要一些指导来调试一些数据。 我的HTML文件中有一个div,我希望他显示一些数据,这些数据在用户操作更改某些变量时会发生更改 例如,我得到了Javascript jQuery调试功能在a";“类”;文件,javascript,jquery,Javascript,Jquery,我正在创建一个简单的游戏,我需要一些指导来调试一些数据。 我的HTML文件中有一个div,我希望他显示一些数据,这些数据在用户操作更改某些变量时会发生更改 例如,我得到了var xPosition,我想将数据发送到HTML中的一个div,这样我就可以看到xPosition的当前状态 我真的不知道从哪里开始创建这个函数 我的问题: 是否可以在此类中创建事件并注册一些 元素,它将显示所有更改的数据 我必须用定时器来做那种事吗 这就是“类”: (函数($){ $.Player=函数(元素){ this
var xPosition
,我想将数据发送到HTML中的一个div,这样我就可以看到xPosition
的当前状态
我真的不知道从哪里开始创建这个函数
我的问题:
(函数($){
$.Player=函数(元素){
this.element=(element instanceof$)?element:$(element);
此.movementspeed=10;
this.size=$(元素).width();
这个.xPos=0;
这1.yPos=0;
};
$.Player.prototype={
//注册事件
InitEvents:function(){
var=这个;
$(文档).keydown(函数(e){
var-key=e.which;
如果(键==39){
那.右移(400),;
}否则如果(键==37){
那。向左移动();
}
});
this.element.css({
左:this.xPos
});
},
//运动功能
moveRight:函数(worldWidth){
如果((this.xPos+this.size)0){
this.xPos-=this.movementspeed;
this.element.css(“left”、'-='+this.movmentSpeed);
}
}
};
}(jQuery));
以下是HTML:
<div id="player">
<div id="debugData"> <div>
<script>
var player = new $.Player($("#player"));
player.InitEvents();
</script>
var player=新的$.player($(“#player”);
player.InitEvents();
(对不起我的英语)
我认为在类中有一个内部函数会有所帮助。甚至可以设置通过执行player.logging=true打开日志记录代码>,并将其默认为false
在原型中,只需为logging=false
添加一个公共原型变量,以及我们的原型函数log()
您可以使用的内部功能可以很简单:
logging : false, // our default
log : function (str) {
if (this.logging) {
$('#debugData').html(str);
}
},
这样您就可以离开日志(This.xPos)代码>(或任何您想要记录的内容)并删除player.logging=true代码>当你实例化你的类时,它们不会出现,除非你把代码放回原处。你可以编写setter来更改你感兴趣的变量。这样你就可以实时记录你需要的任何东西:)是一个好主意,但我真的想在HTML上这样做有两个原因。1.更容易阅读。我想学习如何做到这一点:)通过日志记录,我的意思是附加到调试div.intresting,我不知道您可以做到这一点。(如果不是那么难)你能给我看一个简单的代码示例吗?搜索jQuery append:)这给了我想要的东西,但我不确定把它放在我的类的什么地方。我想按照您的建议保持函数私有,但这样做不允许我在函数中使用类(this)变量。我应该把它放在哪里才能看到日志私有变量和公共变量?(感谢帮助:))还通过演示更新了答案!希望这能解决问题,我会用类似的方式来解决,但你的好得多!非常感谢。
logging : false, // our default
log : function (str) {
if (this.logging) {
$('#debugData').html(str);
}
},