-
-function createAudio(name)
-{
- //拡張子も含めて指定
- return new Audio(URL_PCD_Audio + name);
-}
-
-function createImage(name)
-{
- //拡張子も含めて指定
- var img = document.createElement('img');
- img.src = "./images/" + name;
- return img;
-}
-
-function createCanvas(id, width, height, x, y, z, parent)
-{
- //識別名idで
- //width * heightの大きさのCanvasを
- //(x,y,z)に生成する。
- //parentには、Canvasタグを包含することになるDOMオブジェクトのidを指定する。
- var canvas = document.createElement("canvas");
-
- canvas.id = id;
-
- parent.appendChild(canvas);
-
- canvas.style.position = "absolute";
- canvas.style.top = y + "px";
- canvas.style.left = x + "px";
- canvas.style.zIndex = z;
-
- canvas.width = width;
- canvas.height = height;
-
- return canvas;
-}
-
-//parent にまMainAreaを指定。nullにした場合は後で手動で追加する
-function createMessageBox(id, width, height, x, y, parent, color, foreColor, margin)
-{
- if(color == undefined) color = "#000";
- if(foreColor == undefined) foreColor = "#fff";
- if(margin == undefined) margin = 16;
-
- var base = document.createElement("div");
- base.style.opacity = "0.7";
- base.style.top = y + "px";
- base.style.left = x + "px";
- base.style.backgroundColor = color;
- base.style.color = foreColor;
- base.style.position = "absolute";
- base.style.border = "1px " + foreColor + " solid";
- base.style.overflow = "hidden";
- base.style.fontSize = "24px";
- base.style.width = width + "px";
- base.style.height = height + "px";
- base.style.zIndex = "100";
- base.id = id;
-
- var p = document.createElement("div");
- p.style.position = "absolute";
- p.style.padding = margin + "px";
- p.style.width = (width - (margin * 2)) + "px";
- p.style.bottom = "0";
- p.style.wordBreak = "break-all";
- p.className = "messageBoxInside";
- base.appendChild(p);
-
- var ar = document.createElement("div");
- ar.style.position = "absolute";
- ar.style.bottom = "0";
- ar.style.right = "0";
- ar.style.padding = "4px";
- //ar.style.width = "24px";
- //ar.style.height = "16px";
- ar.innerText = "▼";
- ar.className = "messageBoxArrow";
- base.appendChild(ar);
-
- if(parent)
- {
- parent.appendChild(base);
- }
- return base;
-}
-
-function changeMessageBox(box, message, showArrow)
-{
- if(showArrow == undefined) showArrow = false;
- for(var i = 0; i < box.childNodes.length; i++)
- {
- var element = box.childNodes[i];
- if(element.className == "messageBoxInside")
- {
- element.innerText = message;
- //element.style.top = (parseInt(box.style.height.slice(0, box.style.height.length - 2)) - parseInt(element.style.height.slice(0, element.style.height.length - 2))) + "px"; //"px"は削除される
- //console.log(box.style.height.slice(0, box.style.height.length - 2) + " " + element.style.height.slice(0, element.style.height.length - 2));
-
- }else if(element.className == "messageBoxArrow")
- {
- element.style.display = (showArrow && mainManager.tickCount % 30 < 15) ? "block" : "none";
- }
- }
-}
-
-function createDOMObject(typestr, idstr, parentidstr)
-{
- dobj = document.createElement(typestr);
- parentObj = document.getElementById(parentidstr);
-
- dobj.id = idstr;
- parentObj.appendChild(dobj);
-
- for(;;){
- if(document.getElementById(idstr)){
- break;
- }
- }
-
- return dobj;
-}
-
-function destroyDOMObjectByID(id)
-{
- //識別名idのDOMオブジェクトを破棄する。
- object = document.getElementById(id);
- parentObj = object.parentNode;
-
- parentObj.removeChild(object);
-}
-
-function removeObjectFromArray(anArray, anObject)
-{
- var ret = false;
- //anArray中にある全てのanObjectを削除し、空いた部分は前につめる。
- for(var i = 0; i < anArray.length; i++){
- if(anArray[i] == anObject){
- anArray.splice(i, 1);
- ret = true;
- i--;
- }
- }
- return ret;
-}
-
-function removeAnObjectFromArray(anArray, anObject)
-{
- var ret = false;
- //anArray中にある最初のanObjectを削除し、空いた部分は前につめる。
- for(var i = 0; i < anArray.length; i++){
- if(anArray[i] == anObject){
- anArray.splice(i, 1);
- ret = true;
- break;
- }
- }
- return ret;
-}
-
-function parseArrayToStringSource(anArray){
- //戻り値をevalすると等価なオブジェクトを得ることができる。
- //parseArrayToStringSource({1,"321a","abc",test:["cder","",554]});
- //parseArrayToStringSource([1,"321a","abc",{a:"cder",0:"",1:554}]);
- if(!anArray){
- return "null";
- }
-
- var srcstr = "var t=";
-
- srcstr += parseArrayToStringSource_Sub(anArray);
-
- srcstr += ";t;";
-
- return srcstr;
-}
-
-function parseArrayToStringSource_Sub(anArray){
- if(!anArray){
- return "null";
- }
-
- var srcstr = "{";
-
- for(var k in anArray){
- var v = anArray[k];
- var t = Object.prototype.toString.call(v);
- if(v instanceof Array){
- srcstr += k + ":" + parseArrayToStringSource_Sub(v) + ",";
- } else if(!isNaN(v) && v.toString().replace(/\s+/g, "").length > 0){
- //isNaNだけでは数値判定できないので、文字列化後の空白文字を削除した長さも検査している。
- srcstr += k + ":" + v + ",";
- } else if(t == "[object String]"){
- //文字列として変換
- srcstr += k + ":'" + v + "',";
- } else if(t == "[object Object]"){
- srcstr += k + ":" + parseArrayToStringSource_Sub(v) + ",";
- } else{
- srcstr += k + ":undefined,";
- }
- }
-
- if(srcstr.charAt(srcstr.length - 1) == ","){
- //最後の余計なカンマを削除
- srcstr = srcstr.slice(0, srcstr.length - 1);
- }
- srcstr += "}";
-
- return srcstr;
-}
-
-function isValidResponseText(res)
-{
- //phpからのレスポンスにエラーが含まれていないかをチェックする。
- if(res.indexOf("Warning") == -1){
- if(res.indexOf("error") == -1){
- return true;
- }
- }
- alert("サーバースクリプトがエラーを返しました。:" + res);
- mainManager.stopStage();
- return false;
-}
-
-function getRandomInteger(max){
- return Math.floor(Math.random() * max+1)
-}
-
-//赤色の忠告ボックスを表示
-function showAlert(manager, message)
-{
- var w = new TextWidgetClass(manager, [message, false, false, false, 'red']);
- w.wBox.style.height = 64 + "px";
- w.wBox.style.top = 406 + "px";
- manager.addWidget(w);
- window.setTimeout(function(){manager.removeWidget(w)}, 500);
-}
+\r
+function createAudio(name)\r
+{\r
+ //拡張子も含めて指定\r
+ return new Audio(URL_PCD_Audio + name);\r
+}\r
+\r
+function createImage(name)\r
+{\r
+ //拡張子も含めて指定\r
+ var img = document.createElement('img');\r
+ img.src = "./images/" + name;\r
+ return img;\r
+}\r
+\r
+function createCanvas(id, width, height, x, y, z, parent)\r
+{\r
+ //識別名idで\r
+ //width * heightの大きさのCanvasを\r
+ //(x,y,z)に生成する。\r
+ //parentには、Canvasタグを包含することになるDOMオブジェクトのidを指定する。\r
+ var canvas = document.createElement("canvas");\r
+\r
+ canvas.id = id;\r
+ \r
+ parent.appendChild(canvas);\r
+\r
+ canvas.style.position = "absolute";\r
+ canvas.style.top = y + "px";\r
+ canvas.style.left = x + "px";\r
+ canvas.style.zIndex = z;\r
+\r
+ canvas.width = width;\r
+ canvas.height = height;\r
+\r
+ return canvas;\r
+}\r
+\r
+//parent にまMainAreaを指定。nullにした場合は後で手動で追加する\r
+function createMessageBox(id, width, height, x, y, parent, color, foreColor, margin)\r
+{\r
+ if(color == undefined) color = "#000";\r
+ if(foreColor == undefined) foreColor = "#fff";\r
+ if(margin == undefined) margin = 16;\r
+ \r
+ var base = document.createElement("div");\r
+ base.style.opacity = "0.7";\r
+ base.style.top = y + "px";\r
+ base.style.left = x + "px";\r
+ base.style.backgroundColor = color;\r
+ base.style.color = foreColor;\r
+ base.style.position = "absolute";\r
+ base.style.border = "1px " + foreColor + " solid";\r
+ base.style.overflow = "hidden";\r
+ base.style.fontSize = "24px";\r
+ base.style.width = width + "px";\r
+ base.style.height = height + "px";\r
+ base.style.zIndex = "100";\r
+ base.id = id;\r
+ \r
+ var p = document.createElement("div");\r
+ p.style.position = "absolute";\r
+ p.style.padding = margin + "px";\r
+ p.style.width = (width - (margin * 2)) + "px";\r
+ p.style.bottom = "0";\r
+ p.style.wordBreak = "break-all";\r
+ p.className = "messageBoxInside";\r
+ base.appendChild(p);\r
+ \r
+ var ar = document.createElement("div");\r
+ ar.style.position = "absolute";\r
+ ar.style.bottom = "0";\r
+ ar.style.right = "0";\r
+ ar.style.padding = "4px";\r
+ //ar.style.width = "24px";\r
+ //ar.style.height = "16px";\r
+ ar.innerText = "▼";\r
+ ar.className = "messageBoxArrow";\r
+ base.appendChild(ar);\r
+ \r
+ if(parent)\r
+ {\r
+ parent.appendChild(base);\r
+ }\r
+ return base;\r
+}\r
+\r
+function changeMessageBox(box, message, showArrow)\r
+{\r
+ if(showArrow == undefined) showArrow = false;\r
+ for(var i = 0; i < box.childNodes.length; i++)\r
+ {\r
+ var element = box.childNodes[i];\r
+ if(element.className == "messageBoxInside")\r
+ {\r
+ element.innerText = message;\r
+ //element.style.top = (parseInt(box.style.height.slice(0, box.style.height.length - 2)) - parseInt(element.style.height.slice(0, element.style.height.length - 2))) + "px"; //"px"は削除される\r
+ //console.log(box.style.height.slice(0, box.style.height.length - 2) + " " + element.style.height.slice(0, element.style.height.length - 2));\r
+ \r
+ }else if(element.className == "messageBoxArrow")\r
+ {\r
+ element.style.display = (showArrow && mainManager.tickCount % 30 < 15) ? "block" : "none";\r
+ }\r
+ }\r
+}\r
+\r
+function createDOMObject(typestr, idstr, parentidstr)\r
+{\r
+ dobj = document.createElement(typestr);\r
+ parentObj = document.getElementById(parentidstr);\r
+ \r
+ dobj.id = idstr;\r
+ parentObj.appendChild(dobj);\r
+ \r
+ for(;;){\r
+ if(document.getElementById(idstr)){\r
+ break;\r
+ }\r
+ }\r
+ \r
+ return dobj;\r
+}\r
+\r
+function destroyDOMObjectByID(id)\r
+{\r
+ //識別名idのDOMオブジェクトを破棄する。\r
+ object = document.getElementById(id);\r
+ parentObj = object.parentNode;\r
+\r
+ parentObj.removeChild(object);\r
+}\r
+\r
+function removeObjectFromArray(anArray, anObject)\r
+{\r
+ var ret = false;\r
+ //anArray中にある全てのanObjectを削除し、空いた部分は前につめる。\r
+ for(var i = 0; i < anArray.length; i++){\r
+ if(anArray[i] == anObject){\r
+ anArray.splice(i, 1);\r
+ ret = true;\r
+ i--;\r
+ }\r
+ }\r
+ return ret;\r
+}\r
+\r
+function removeAnObjectFromArray(anArray, anObject)\r
+{\r
+ var ret = false;\r
+ //anArray中にある最初のanObjectを削除し、空いた部分は前につめる。\r
+ for(var i = 0; i < anArray.length; i++){\r
+ if(anArray[i] == anObject){\r
+ anArray.splice(i, 1);\r
+ ret = true;\r
+ break;\r
+ }\r
+ }\r
+ return ret;\r
+}\r
+\r
+function parseArrayToStringSource(anArray){\r
+ //戻り値をevalすると等価なオブジェクトを得ることができる。\r
+ //parseArrayToStringSource({1,"321a","abc",test:["cder","",554]});\r
+ //parseArrayToStringSource([1,"321a","abc",{a:"cder",0:"",1:554}]);\r
+ if(!anArray){\r
+ return "null";\r
+ }\r
+\r
+ var srcstr = "var t=";\r
+ \r
+ srcstr += parseArrayToStringSource_Sub(anArray);\r
+ \r
+ srcstr += ";t;";\r
+ \r
+ return srcstr;\r
+}\r
+\r
+function parseArrayToStringSource_Sub(anArray){\r
+ if(!anArray){\r
+ return "null";\r
+ }\r
+\r
+ var srcstr = "{";\r
+ \r
+ for(var k in anArray){\r
+ var v = anArray[k];\r
+ var t = Object.prototype.toString.call(v);\r
+ if(v instanceof Array){\r
+ srcstr += k + ":" + parseArrayToStringSource_Sub(v) + ",";\r
+ } else if(!isNaN(v) && v.toString().replace(/\s+/g, "").length > 0){\r
+ //isNaNだけでは数値判定できないので、文字列化後の空白文字を削除した長さも検査している。\r
+ srcstr += k + ":" + v + ",";\r
+ } else if(t == "[object String]"){\r
+ //文字列として変換\r
+ srcstr += k + ":'" + v + "',";\r
+ } else if(t == "[object Object]"){\r
+ srcstr += k + ":" + parseArrayToStringSource_Sub(v) + ",";\r
+ } else{\r
+ srcstr += k + ":undefined,";\r
+ }\r
+ }\r
+\r
+ if(srcstr.charAt(srcstr.length - 1) == ","){\r
+ //最後の余計なカンマを削除\r
+ srcstr = srcstr.slice(0, srcstr.length - 1);\r
+ }\r
+ srcstr += "}";\r
+ \r
+ return srcstr;\r
+}\r
+\r
+function isValidResponseText(res)\r
+{\r
+ //phpからのレスポンスにエラーが含まれていないかをチェックする。\r
+ if(res.indexOf("Warning") == -1){\r
+ if(res.indexOf("error") == -1){\r
+ return true;\r
+ }\r
+ }\r
+ alert("サーバースクリプトがエラーを返しました。:" + res);\r
+ mainManager.stopStage();\r
+ return false;\r
+}\r
+\r
+function getRandomInteger(max){\r
+ return Math.floor(Math.random() * max+1)\r
+}\r
+\r
+//赤色の忠告ボックスを表示\r
+function showAlert(manager, message)\r
+{\r
+ var w = new TextWidgetClass(manager, [message, false, false, false, 'red']);\r
+ w.wBox.style.height = 64 + "px";\r
+ w.wBox.style.top = 406 + "px";\r
+ manager.addWidget(w);\r
+ window.setTimeout(function(){manager.removeWidget(w)}, 500);\r
+}\r