Pro*_*eak 2 html javascript external function
所以,我已经看过这样的其他问题,但他们并没有真正回答过这些问题.
简而言之:我使用过HTML,Java,VB以及MIRC使用的任何语言(它已经不到10年了).
我是javascript的新手,但由于我的其他计算机语言知识......我知道使用Java,我可以创建类和类类函数.
但是,使用html/javascript,我不知道如何从一个外部.js文件调用函数到另一个.
让我们说:我想创建一个我可以随时调用函数的播放器类,并在'main'.js文件中使用它,该文件在另一个函数中使用该类中的那些函数.例如.
如果我有
function isDead() {
if (health < 10 || energy < 10)
{
return dead = 'true';
}
else { return dead; }
}
Run Code Online (Sandbox Code Playgroud)
在Player .js文件中,在主要文件中,我有.
function fight() {
if (isDead() == 'true')
{
energy -= 10;
health -= 10;
Swords();
}
document.getElementById("energy").innerHTML = energy;
document.getElementById("health").innerHTML = health;
document.getElementById("sword").innerHTML=sword;
}
Run Code Online (Sandbox Code Playgroud)
在item.js我有
var swordDamage = 0;
function Swords(){
if (swordDamage < 3)
swordDamage +=1;
else
return sword -=1;
}
Run Code Online (Sandbox Code Playgroud)
(请注意,这实际上是有效的(我还没有测试剑(),因为我刚刚为这个问题做了.)
有什么特别的方法我需要调用其他.js文件中的函数到main.js文件中.
示例:main.function();
或者我最好将它们保存为html文档,除了脚本之外什么都不写,以解决这个问题?
谢谢回答!
我来自你来的同一个环境.我做了很多帮助我的javascript课程,codeacademy.com.
那么我应该像这样实现你的样本:
fighter.js
function Fighter(){
this.health = 100;
this.energy = 100;
this.isDead = function() {
if (health < 10 || energy < 10)
{
return dead = 'true';
}
else {
return dead;
}
}
this.Punch = function(otherFighter){
otherFighter.energy -= 10;
otherFighter.health -= 10;
}
this.AtackWithItem(item, fighter){
otherFighter.energy -= item.damage;
otherFighter.health -= item.damage;
}
}
Run Code Online (Sandbox Code Playgroud)
main.js
function initFight() {
var fighterA = new Fighter();
var fighterB = new Fighter();
document.getElementById("energy").innerHTML = energy;
document.getElementById("health").innerHTML = health;
document.getElementById("sword").innerHTML=sword;
fighterB.punch(fighterA);
document.getElementById("energy").innerHTML = energy;
document.getElementById("health").innerHTML = health;
document.getElementById("sword").innerHTML=sword;
var sword = new item();
fighterA.AtackWithItem(sword,fighterB);
document.getElementById("energy").innerHTML = energy;
document.getElementById("health").innerHTML = health;
document.getElementById("sword").innerHTML=sword;
}
Run Code Online (Sandbox Code Playgroud)
item.js
function item(){
this.type = "Swords"
this.damage = 20;
}
Run Code Online (Sandbox Code Playgroud)
所有文件fighter.js,main.js和item.js都将使用标记引用:
<script src="../item.js"></script>
<script src="../fighter.js"></script>
<script src="../main.js"></script>
Run Code Online (Sandbox Code Playgroud)
在index.html中.
希望这能帮到你......