# HG changeset patch # User NOBUYASU Oshiro # Date 1278747503 -32400 # Node ID a959cdca5b62dbf900e5a5b8e9808b606ab341ff # Parent 1d76f5717ba72595c495e64ae76bb72ab11e3aa9 add bom.js diff -r 1d76f5717ba7 -r a959cdca5b62 webGL/dandy/resources/#Character.js# --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webGL/dandy/resources/#Character.js# Sat Jul 10 16:38:23 2010 +0900 @@ -0,0 +1,98 @@ +active_chara_list = new Object(); +active_chara_list.enemy = []; +count = 0; +rinkx = 0; +rinky = 0; +rinkf1 = 0;rinkf2 = 0; +asteroidi = 0; +enemyfaste = 0; +sf = 0; +amari = 0; +fastebos = 0; +tekino0 = new Character(); + +function Character() +{ + this.x=0; + this.y=0; + this.scale=1.0; + this.dx=0; + this.dy=0; + this.w=0; + this.h=0; + this.vit=0; + this.score=0; + this.dt1=0; + this.dt2=0; + this.charano=0; + this.tama=0; + this.f=false; + this.flag=false; + this.s=0; + + this.state=0; + this.collision=0; + + this.next=0; + this.prev=0; + + this.image=new Object(); + this.texture=new Object(); + + return this; +} + +function PutSprite( ctx, glObj) +{ + + // setup VBOs + ctx.enableVertexAttribArray(0); + ctx.enableVertexAttribArray(1); + ctx.enableVertexAttribArray(2); + + ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.image.vertexObject); + ctx.vertexAttribPointer(2, 3, ctx.FLOAT, false, 0, 0); + ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.image.normalObject); + ctx.vertexAttribPointer(0, 3, ctx.FLOAT, false, 0, 0); + + ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.image.texCoordObject); + ctx.vertexAttribPointer(1, 2, ctx.FLOAT, false, 0, 0); + + ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, glObj.image.indexObject); + + // generate the model-view matrix + var mvMatrix = new CanvasMatrix4(); + // mvMatrix.scale(jiki.scale, jiki.scale, jiki.scale); + mvMatrix.scale(glObj.scale, glObj.scale, glObj.scale); + mvMatrix.translate(glObj.x,glObj.y,10); + + // construct the normal matrix from the model-view matrix + var normalMatrix = new CanvasMatrix4(mvMatrix); + normalMatrix.invert(); + normalMatrix.transpose(); + ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false, normalMatrix.getAsWebGLFloatArray()); + + // construct the model-view * projection matrix + var mvpMatrix = new CanvasMatrix4(mvMatrix); + mvpMatrix.multRight(ctx.perspectiveMatrix); + ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false, mvpMatrix.getAsWebGLFloatArray()); + + ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture); + ctx.drawElements(ctx.TRIANGLES, glObj.image.numIndices, ctx.UNSIGNED_SHORT, 0); +} + +function obj_draw( ctx ) +{ + for(var i = 0; Boolean(active_chara_list.enemy[i]) ; i++) + { + if(active_chara_list.enemy[i].flag == true) + { + PutSprite(ctx,active_chara_list.enemy[i]); + } + //’Ũ’¤¬’¾Ã’¤¨’¤¿’¤é’ÇÛ’Î󒤫’¤é’¾Ã’¤¹ + if(active_chara_list.enemy[i].flag == false) + { + active_chara_list.enemy.splice(i,1); + } + } +} diff -r 1d76f5717ba7 -r a959cdca5b62 webGL/dandy/resources/.#Character.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webGL/dandy/resources/.#Character.js Sat Jul 10 16:38:23 2010 +0900 @@ -0,0 +1,1 @@ +e085711@NOBUYASUOshiro.local.6529 \ No newline at end of file diff -r 1d76f5717ba7 -r a959cdca5b62 webGL/dandy/resources/bom.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webGL/dandy/resources/bom.js Sat Jul 10 16:38:23 2010 +0900 @@ -0,0 +1,105 @@ +bomend = 0; +bchar = []; +function bcharClass() +{ + this.x = 0; + this.y = 0; + this.no = 0; + this.flag = 0; + return this; +} + +function bom2(x, y) +{ + var i; + if ( bomend > 49) { + bomend = 49; + return ; + } + i = bomend; + bchar[i] = new bcharClass(); + bchar[i].x = x; + bchar[i].y = y; + bchar[i].no = 0; + bchar[i].flag = 0; + loadBomImage(0, bchar[i]); + bomend++; + return ; +} + +function loadBomImage(charano, p) +{ + p.image = bom[charano]; + p.texture = bom[charano].texture; + p.w = bom[charano].w; + p.h = bom[charano].h; +} + +function PutBom(gl) +{ + for(var i=0; i < bomend; i++) + { + if(bchar[i].no != 8) { + count++; + // DefSpriteEx(30 + bchar[i].no, 8, 8); + // PutSpriteEx(30 + bchar[i].no, bchar[i].x+96, bchar[i].y+96, 2, 2, 1); + // PutSpriteEx(gl, bchar[i], bom[bchar[i].no]); + // PutSpriteEx(gl, bchar[i], enemy[0]); + PutSprite(gl, bchar[i], bchar[0]); + bchar[i].no++; + } + // if(bchar[i].no == 8){ + if(bchar[i].no == 7){ + if(bonmed == i) { + bomend--; + break; + } + if(bomend > i) { + bchar[i] = bchar[bomend]; + bomend--; + i--; + } + } + } +} + +//function PutSpriteEx(number, x, y, scalex, scaley, angle) +function PutSpriteEx( ctx, glObj, image) +{ + + // setup VBOs + ctx.enableVertexAttribArray(0); + ctx.enableVertexAttribArray(1); + ctx.enableVertexAttribArray(2); + + ctx.bindBuffer(ctx.ARRAY_BUFFER, image.vertexObject); + ctx.vertexAttribPointer(2, 3, ctx.FLOAT, false, 0, 0); + ctx.bindBuffer(ctx.ARRAY_BUFFER, image.normalObject); + ctx.vertexAttribPointer(0, 3, ctx.FLOAT, false, 0, 0); + + ctx.bindBuffer(ctx.ARRAY_BUFFER, image.texCoordObject); + ctx.vertexAttribPointer(1, 2, ctx.FLOAT, false, 0, 0); + + ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, image.indexObject); + + // generate the model-view matrix + var mvMatrix = new CanvasMatrix4(); + mvMatrix.scale(1.0, 1.0, 1.0); + mvMatrix.translate(glObj.x,glObj.y,10); + + // construct the normal matrix from the model-view matrix + var normalMatrix = new CanvasMatrix4(mvMatrix); + normalMatrix.invert(); + normalMatrix.transpose(); + ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false, normalMatrix.getAsWebGLFloatArray()); + + // construct the model-view * projection matrix + var mvpMatrix = new CanvasMatrix4(mvMatrix); + mvpMatrix.multRight(ctx.perspectiveMatrix); + ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false, mvpMatrix.getAsWebGLFloatArray()); + + + ctx.bindTexture(ctx.TEXTURE_2D, image.texture); + ctx.drawElements(ctx.TRIANGLES, image.numIndices, ctx.UNSIGNED_SHORT, 0); + +} diff -r 1d76f5717ba7 -r a959cdca5b62 webGL/dandy/resources/bom.js~ --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webGL/dandy/resources/bom.js~ Sat Jul 10 16:38:23 2010 +0900 @@ -0,0 +1,16 @@ +bomend = 0; +bchar = []; + + +function bom() +{ + + +} + +function Putbom() +{ + + + +} \ No newline at end of file