开发超简单js框架作为对象练习时遇到的问题
Problems in developing a super simple js framework as an exercise with objects
我相信我的问题回答起来相对简单,但作为一个初学者,我真的很挣扎。
因此,我从各种来源学到了(至少我认为我已经学到了)Javascript的基础知识,但我真的很难理解对象、类和语法。我完全理解这个概念,多年来我一直在基本级别上使用各种编程语言,然而,我在实现我在JS中学到的东西时遇到了困难。
基本上,我试图开发一个制作视觉小说游戏的简单框架,作为证明我所学知识的练习。因此,我的整个框架可以简化为两个基本对象,一个场景和一个角色。所以我试图充实我的角色对象,就像这样:
function character (race,gender,age)
{
this.race = race;
this.gender = gender;
this.age = age;
}
//lets make an elf race based on the character prototype
var elfRace = new character("elf","m",100);
基本上,我的目标是完成以下层次
字符
比赛1比赛2比赛3
ActualChar ActualChar
所以我的最后一个角色将从定义的种族派生,种族将从角色对象派生。
现在我的问题是,我不知道如何将种族设置为从角色派生。我是否声明角色是种族的原型?还是
var newrace = new Character();
以及如何添加额外的";技能;或";参数";参加比赛?所以精灵种族应该有文字:+5和恶魔种族强度:+5,但这些参数只能在种族对象级别添加。
我尽量简明扼要,但如果你想了解我想做什么的更多细节,我也会写一篇关于它的博客文章,如果需要更多细节,请访问:http://www.endangeredpixel.com/
希望我能在这个问题上得到一些帮助,我尝试过更多地研究对象、层次结构和原型,但我要么得到过于简单的解释和教程,要么得到超出我技能水平的咆哮、漫谈和极其高级的教程。在中间阶段,我很难在这里找到解释:(.
你可以这样做。。尽管您可以根据自己的喜好制作更少甚至更多的构造函数。现在我使用角色、种族和玩家(实际角色)。你可以使用不同的种族构建器,比如ElfRace、DemonRace,但对于像2场比赛这样简单的比赛,你可以像我一样只使用一场。这是一般的想法,您可以根据自己的具体需求对其进行修改。
function Character(gender, age) {
this.gender = gender;
this.age = age;
}
function Race(gender, age, race) {
Character.call(this, gender, age); //inherit from Character
this.race = race;
if (race == 'elf') {
this.dexterity = 5;
} else if (race == 'demon') {
this.strength = 5;
}; // you could check for more races here.
}
function Player(name, age, gender, race) {
Race.call(this, gender, age, race); //inherit from Race
this.name = name;
}
var player1 = new Player("Legolas", 100, "m", "elf");
alert(player1.name); //Legolas
alert(player1.age); //100 years old
alert(player1.gender); //m
alert(player1.race); //elf
alert(player1.dexterity); //5
alert(player1.strength); // undefined because elf's have dexterity not strength
在这个例子中,我创建了一个名叫Legolas的游戏机1,年龄100岁,是一名男性,是一个精灵种族。这里还有一个jsfiddle
如果你想添加更多种族,那么你必须更新种族构造函数中的If语句,为你想要添加的特定种族分配技能。
- 将PHP变量传递给jQuery时遇到问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- 在AJAX回调和呈现PIXIJS之间处理程序流时遇到了问题
- 将jQuery转换为用户脚本的普通Javascript时遇到问题
- 将子文档推送到父数组时遇到问题
- JQuery FullCalendar在从ajax成功调用rerenderEvents时遇到问题
- regex来构建字符串,直到遇到第N个匹配项
- 遇到错误后,更改检测似乎中断
- 在将javascript附加到我的html中时遇到问题
- 遇到400错误请求(Angular+WebAPI)的问题
- 在使用javascript的Ajax方面遇到了困难
- 为什么我在以编程方式打开窗口时遇到问题
- 在将缩略图链接到模态时遇到问题
- 在我的网站上创建一个在1-10之间不断变化的数字时遇到了问题.Javascript
- 尝试用javascript创建完形填空练习
- 使用 ng 模型获取数据时遇到问题
- 是否有其他人在设计Twitter Typeahead时遇到问题'的搜索栏
- 使用jquery进行整数比较时遇到问题
- 使用PhantomJS下载动态web内容时遇到问题
- 开发超简单js框架作为对象练习时遇到的问题