0
<html>

<script type="text/javascript">
var name="name of troop/general"; var attack="attack"; var defense="defense"; var effect1=""; var effect2=""; var           effect3=""; var effect4=""; var effect5=""; var effect6=""; var flavortext1=""; var flavortext2=""; var flavortext3=""; var flavortext4=""; var flavortext5=""; var flavortext6=""; var username="your name here"; var a="troop"; var b="common1"; var c="human"; var d="any"; var e="agility";
function setname()
{
name = document.forms["form"]["name"].value;
alert("unit name = " + name);
}
function setattack()
{
attack = document.forms["form"]["attack"].value;
alert("attack = " + attack);
}
function setdefense()
{
defense = document.forms["form"]["defense"].value;
alert("defense = " + defense);
}
function seteffect()
{
//using document.forms to get the value of effects
alert("effect = " + effect1 + effect2 + effect3 + effect4 + effect5 + effect6);
}
function setflavortext()
{
//using document.forms to get the value of flavortext
alert("flavortext =" + flavortext1 + flavortext2 + flavortext3 + flavortext4 + flavortext5 + flavortext6);
}
function setusername()
{
username = document.forms["form"]["username"].value;   
alert("name = " + username);
}
function setimage()
{
base_image = new Image();
base_image.src = document.forms["form"]["image"].value;
base_image.onload = function
    {
    base.drawImage(base_image, 300, 30, 90, 90);
    }
}
</script>

<canvas id="canvas" width="400" height="700" style="solid"></canvas>

<script type="text/javascript">
var mathmath = defense/4;
var attackvalue = attack + mathmath;
function writeall()
{
var can=document.getElementById("canvas");
var base=can.getContext("2d");

base.fillStyle="grey"; //background
base.fillRect(0,0,400,1200);

base.fillStyle="#FFBF00"; //orangeish
base.font="15px Arial"; 
base.fillText(name, 0, 20);

base.fillStyle="#EFFBF8" //white
base.fillText("Quality:", 0, 40); //this is the only base.fillText that works...
base.fillText(attack, 50, 80);
base.fillText(defense, 60, 100);
base.fillText(attackvalue, 120, 60);
//base.fillText's like the ones above, of varying colors

if(a == "general")
{
    base.fillText(a, 350, 20);
}
//ifs like the one above

base.fillStyle="#FF4000" //dark orange
base.fillText(effect1, 0, 180);
//5 more effect vars being fillTexted; do not work...

var y = 0;

//ifs to set y

base.font="italic 15px Arial";

base.fillStyle="#EFFBF8" //white

//ifs to set y

base.font="15px Arial";

var x = 0;

//ifs to set x

base.fillText(username, 0, y+x);

if(c == "human")
{
    base_image = new Image();
    base_image.src = 'http://images2.wikia.nocookie.net/__cb20120812195219/dotd/images/c/c5/Race_human.png';
    base_image.onload = function()
    {
    base.drawImage(base_image, 0, 105);
    }
}
//ifs like the one above, a bunch of them; none work
</script>

</html>

正直なところ、問題がどこにあるのかわかりませんが、setimage()関数を追加する前に、すべてが意図したとおりに機能したことは注目に値します(後で説明します)...大きな灰色の長方形を作成することを目的としています。その上にたくさんのものを書いてください、それが奇妙に見えるかもしれないので、私は少しいじりました。しかし、今のところ、それが作るのは、品質という言葉が書かれた灰色の長方形だけです。setimage()関数のボタンを押しても何も起こらず、アラートを入力しても何も起こりません...数回、次にnotepad ++で数回調べたところ、混乱しました...ありがとう事前にあなたの時間のために。

4

0 に答える 0