overlayEnabled = pettanr.overlay.visible === true,\r
currentViewID = overlayEnabled === true ? pettanr.overlay.currentID : pettanr.view.currentID;\r
if( type === 'keypress') type = 'keydown';\r
- if( pettanr.form.keyEventRellay( e ) === false ){\r
+ if( pettanr.form.keyEventRellay( e ) === false ){\r
var shift = e.shiftKey,\r
ctrl = e.ctrlKey,\r
l = KEYEVENT_ARRAY.length,\r
draw( a, w, h );\r
\r
function draw( _a, _w, _h ){\r
- a = _a !== undefined ? _a : a;\r
- w = _w !== undefined ? _w - PADDING_TOP * 2 : w;\r
- h = _h !== undefined ? _h - PADDING_LEFT * 2 : h;\r
+ a = _a !== undefined ? _a : a;\r
+ _a = a;// - 90;\r
+ w = _w !== undefined ? _w - PADDING_TOP * 2 : w;\r
+ h = _h !== undefined ? _h - PADDING_LEFT * 2 : h;\r
\r
if( vectorEnabled === false){\r
- balloonElm.setAttribute( 'src', balloonUrlBuilder( a ));\r
+ balloonElm.setAttribute( 'src', balloonUrlBuilder( _a ));\r
return;\r
}\r
\r
var rx = w /2,\r
ry = h /2,\r
- tailRad = a * DEG_TO_RAD,\r
+ tailRad = _a * DEG_TO_RAD,\r
tailX = rx +( rx +TAIL_HEIGHT ) * cos( tailRad ),\r
tailY = ry +( ry +TAIL_HEIGHT ) * sin( tailRad ),\r
startX, startY, endX, endY;\r
\r
for( var i = 45; i > 0.01; i /= 2){\r
d = ( tailDeg + i ) /2;\r
- startRad = ( a + d ) * DEG_TO_RAD;\r
- endRad = ( a - d ) * DEG_TO_RAD;\r
+ startRad = ( _a + d ) * DEG_TO_RAD;\r
+ endRad = ( _a - d ) * DEG_TO_RAD;\r
\r
_startX = rx +cos( startRad ) * rx;\r
_startY = ry +sin( startRad ) * ry;\r
\r
function balloonUrlBuilder( _a ){\r
var d = 360 / NUM_BALLOON_IMAGE;\r
- _a += 90 + d / 2;\r
+ _a = ( _a >= _a ? _a : _a + 360 ) + d / 2;\r
return [ 'system_pictures\/_w', _a < 360 - d / 2 ? floor( _a / d ) : 0, '.gif' ].join( '' );\r
}\r
this.elm = balloonElm;\r
timer = window.setTimeout( asyncCallback, 10 );\r
} \r
function onLoad(){\r
- // if( finish === true ) return; // これがあると firefox3.6 で駄目、、、\r
+ // if( finish === true ) return; // これがあると firefox3.6 で駄目、、、\r
// if( timer ) return; // これがあると safari3.2 で駄目、、、\r
finish = true;\r
timer !== null && window.clearTimeout( timer );\r
balloonW = _w !== undefined ? _w : balloonW;\r
balloonH = _h !== undefined ? _h : balloonH;\r
balloonA = _a !== undefined ? _a : balloonA;\r
- radA = balloonA *DEG_TO_RAD;\r
+ radA = balloonA * DEG_TO_RAD;\r
tailX = FLOOR( ( ( COS( radA) /2 +0.5) *( balloonW +SIZE)) -SIZE /2);\r
tailY = FLOOR( ( ( SIN( radA) /2 +0.5) *( balloonH +SIZE)) -SIZE /2);\r
ELM_MOVER.style.left = tailX +'px';\r
ATAN( _mouseY /_mouseX) *RAD_TO_DEG +( _mouseX < 0 ? 180 : 0) :\r
_mouseY > 0 ? 90 : -90\r
);\r
- currentText && currentText.angle( balloonA);\r
+ currentText && currentText.angle( Math.floor( balloonA + 0.5 ));\r
INFOMATION_WINDOW.update( currentText);\r
},\r
onFinish: function(){\r
}\r
this.angle = function( _a ){\r
_a !== undefined && instance.resize( x, y, w, h, _a );\r
- return a;\r
+ return a >= 0 ? a : a + 360;\r
}\r
this.text = function( _text ){\r
if( _text && text !== _text) {\r
data = {\r
balloon_template_id:1,\r
size: 1,\r
- tail: 0,\r
+ tail: 90,\r
x: Math.floor( panelW /2 - 100 +Math.random() *10 ),\r
y: Math.floor( panelH /2 - 100 +Math.random() *10 ),\r
z: -1,\r
_panelElement = getPanelElementByTiming();\r
if( _panelElement === null ) break;\r
\r
- ELEMENT_ARRAY.push( _panelElement.type === 0 ? imageToJson( _panelElement ) : balloonToJson( _panelElement ));\r
+ ELEMENT_ARRAY.push( _panelElement.type === 0 ? getImageJsonGET( _panelElement ) : balloonToJson( _panelElement ));\r
}\r
return [\r
'{', cr,\r
panelTimming !== -1 ? ( '"t": ' + panelTimming + ',' + cr ) : '',\r
'"width": ', panelW, ',', cr,\r
'"height": ', panelH, ',', cr,\r
- '"panel_elements": {', cr,\r
+ '"panel_elements": [', cr,\r
ELEMENT_ARRAY.join( ',' + cr ), cr,\r
- '},', cr,\r
+ ']', cr,\r
'}', cr,\r
'}'\r
].join( '' );\r
}\r
+ function getImageJsonGET( _imageElement ){\r
+ var cr = pettanr.LINE_FEED_CODE_TEXTAREA;\r
+ return [\r
+ '{', cr,\r
+ '"resource_picture": {', cr,\r
+ '"id": ', _imageElement.resourcePicture().id, ',', cr,\r
+ '"ext": ', '"',_imageElement.resourcePicture().ext, '"', cr,\r
+ '},', cr,\r
+ '"x": ', _imageElement.x, ',', cr,\r
+ '"y": ', _imageElement.y, ',', cr,\r
+ '"z": ', _imageElement.z, ',', cr,\r
+ '"width": ', _imageElement.flipH() * _imageElement.w, ',', cr,\r
+ '"height": ', _imageElement.flipV() * _imageElement.h, ',', cr,\r
+ '"t": ', timing, cr,\r
+ '}'\r
+ ].join( '');\r
+ }\r
\r
function getJsonPostString(){\r
timing = 0;\r
_panelElement = getPanelElementByTiming();\r
if( _panelElement === null) break;\r
_panelElement.type === 0 ? \r
- IMAGE_ARRAY.push( imageToJson( _panelElement )) :\r
- BALLOON_ARRAY.push( balloonToJson( _panelElement ) );\r
+ IMAGE_ARRAY.push( [ '"new', timing, '": ', imageToJson( _panelElement ) ].join( '' )) :\r
+ BALLOON_ARRAY.push( [ '"new', timing, '": ', balloonToJson( _panelElement ) ].join( '' ) );\r
}\r
return [\r
'{', cr,\r
function imageToJson( _imageElement ){\r
var cr = pettanr.LINE_FEED_CODE_TEXTAREA;\r
return [\r
- '"new', timing, '": {', cr,\r
+ '{', cr,\r
'"resource_picture_id": ', _imageElement.resourcePicture().id, ',', cr,\r
'"x": ', _imageElement.x, ',', cr,\r
'"y": ', _imageElement.y, ',', cr,\r
function balloonToJson( _textElement ){\r
var cr = pettanr.LINE_FEED_CODE_TEXTAREA;\r
return [\r
- '"new', timing, '": {', cr,\r
+ '{', cr,\r
'"balloon_template_id": ', 1, ',', cr,\r
'"system_picture_id": ', 1, ',', cr,\r
'"size": ', 1, ',', cr,\r