view webGL/dandy/resources/parse.js~ @ 11:680b5b0cd1e4

upload
author NOBUYASU Oshiro
date Mon, 12 Jul 2010 08:01:12 +0900
parents 1d76f5717ba7
children 61febc94fa62
line wrap: on
line source

function parseXml(gl)
{

    loadCharaXml(gl, "./xml/character.xml");//gl.charaにxmlファイルの中身を入れる
    loadEffectXml(gl, "./xml/effect.xml");//gl.effectにxmlファイルの中身をいれる
    loadBossXml(gl, "./xml/boss.xml");//gl.bossにxmlファイルの中身を入れる

    jiki = new makePlayer(gl.chara);//自機の情報をいれておくクラス、グローバル
    
    enemy = [];//敵の情報を入れておく配列を用意、グローバル
    pushEnemy(gl,enemy);//配列enemy[]に敵をpush
    pushEnemyBullets(gl, enemy);//配列enemy[]に敵の弾情報をpush

    boss = [];//bossの情報を入れておく配列を用意,グローバル
    pushBoss(gl, boss);//配列boss[]にbossの情報をpush

    bullets = [];//弾の情報を入れておく配列を用意、グローバル
    pushPlayerBullets(gl,bullets);//配列bullets[]に弾をpush

    bomImage = [];//撃破時の爆発の情報をいれておく配列を用意。グローバル
    pushBom(gl, bomImage);//配列 bom[]に爆発をpush

    //    ebullets = [];//敵の弾の情報を入れておく配列を用意、グローバル
    //    pushEnemyBullets(gl, ebullets);
}

function loadCharaXml(gl,url)
{
    if(gl.chara == undefined) gl.chara = new Object();
    var xmlChara = new Object();
    xmlChara = parsePanel(url);
    for (var name in xmlChara)
	{
            gl.chara[name] = makeXmlObj(gl, xmlChara[name]);
            gl.chara[name].texture = loadImageTexture(gl, xmlChara[name].image);
	}
}

function loadEffectXml(gl,url)
{
    if(gl.effect == undefined)gl.effect = new Object();
    var xmlChara = new Object();
    xmlChara = parsePanel(url);
    for (var name in xmlChara)
        {
            gl.effect[name] = makeXmlObj(gl, xmlChara[name]);
            gl.effect[name].texture = loadImageTexture(gl, xmlChara[name].image);
        }
}

function loadBossXml(gl,url)
{
    if(gl.boss == undefined)gl.boss = new Object();
    var xmlChara = new Object();
    xmlChara = parsePanel(url);
    for (var name in xmlChara)
        {
            gl.boss[name] = makeXmlObj(gl, xmlChara[name]);
            gl.boss[name].texture = loadImageTexture(gl, xmlChara[name].image);
        }
}

function pushBoss(gl, boss)
{
    for(var name in gl.boss)
        {
            boss.push(gl.boss[name]);
        }
}


function pushEnemy(gl, enemy)
{
    enemy.push(gl.chara["enemy_greenclab"]);
    enemy.push(gl.chara["missile"]);
    enemy.push(gl.chara["gunbattery"]);
    enemy.push(gl.chara["meteo"]);
}



function pushPlayerBullets(gl,bullets)
{
    //    if(bullets == undefined) var bullets = [];
    bullets.push(gl.effect["bluebarrier"]);
    bullets.push(gl.effect["bulebullet_left"]);
    bullets.push(gl.effect["bulebullet_right"]);
    bullets.push(gl.effect["redbullet"]);
    bullets.push(gl.effect["greenbullet"]);
    bullets.push(gl.effect["lonlaser"]);
    //    return bullets;
}

function pushBom(gl, bomImage)
{
    bomImage.push(gl.effect["redbomb_anim_0"]);
    bomImage.push(gl.effect["redbomb_anim_1"]);
    bomImage.push(gl.effect["redbomb_anim_2"]);
    bomImage.push(gl.effect["redbomb_anim_3"]);
    bomImage.push(gl.effect["redbomb_anim_4"]);
    bomImage.push(gl.effect["redbomb_anim_5"]);
    bomImage.push(gl.effect["redbomb_anim_6"]);
    bomImage.push(gl.effect["redbomb_anim_7"]);
}

function pushEnemyBullets(gl, ebullets)
{
    ebullets.push(gl.effect["enemy_redbullet"]);
    ebullets.push(gl.effect["enemy_bluebullet"]);
    ebullets.push(gl.effect["tama_s_01"]);
    ebullets.push(gl.effect["tama_s_02"]);
    ebullets.push(gl.effect["tama_s_03"]);
    ebullets.push(gl.effect["tama_s_04"]);
    ebullets.push(gl.effect["tama_l_02"]);
    ebullets.push(gl.effect["tama_l_03"]);
}