1 decade ago by jGuille
Hi there,
I'm trying to port a simple test game I've made into Android by using CocoonJS.
The problem is that I cant get the touch controlls to work on the apk that CocoonJS generates, while they work perfectly when I try the game from the browser.
This is the code of the main:
The index.html is this:
As you can see, I'm using the touch-button plugin plus a fix, but it didn't served.
I hope you can help me, and thanks for the interest in advance. :)
I'm trying to port a simple test game I've made into Android by using CocoonJS.
The problem is that I cant get the touch controlls to work on the apk that CocoonJS generates, while they work perfectly when I try the game from the browser.
This is the code of the main:
ig.module(
'game.main'
)
.requires(
'impact.game',
'impact.font',
'plugins.touch-button',
'plugins.font',
'plugins.cocoonjs_touchevent_fix',
'game.entities.globo',
'game.entities.nube_der',
'game.entities.nube_izq'
)
.defines(function(){
Globo = ig.Game.extend({
// Load a font
font: new ig.Font( 'media/04b03.font.png' ),
// Clear to white before drawing each frame (default is black)
clearColor: 'rgb(255, 255, 255)',
buttons: [],
buttonImage: new ig.Image( 'media/boton.png' ),
init: function() {
// Initialize your game here; bind keys etc.
//Controles
// Prevents spamming of input
this.inputDelayTimer = new ig.Timer();
this.buttons = [
new ig.TouchButton( 'izq', 0, 400, 80, 80, this.buttonImage, 0 ),
new ig.TouchButton( 'der', 240, 400, 80, 80, this.buttonImage, 0 ),
];
//Fondo
var data = [[1]];
fondo = new ig.BackgroundMap( 240, data, 'media/cielo.png' );
fondo.repeat = true;
fondo.preRender = true;
fondo.setScreenPos( 0, 0 );
//Añado el fondo al array de backgroundMaps, para que el método draw los pinte automáticamente
this.backgroundMaps.push(fondo);
//Añadir nubes
this.spawnEntity(EntityNube_der, 240, 400);
this.spawnEntity(EntityNube_izq, 0, 400);
//Añadir globo
this.globo = this.spawnEntity(EntityGlobo, 145, 230);
},
update: function() {
// Update all entities and backgroundMaps
this.parent();
// Add your own, additional update code here
},
draw: function() {
// Draw all entities and backgroundMaps
this.parent();
// Add your own drawing code here
//var x = ig.system.width/2,
// y = ig.system.height/2;
//this.font.draw( 'It Works!', x, y, ig.Font.ALIGN.CENTER );
// Draw all touch buttons - if we have any
if ( this.buttons ) {
for( var i = 0; i < this.buttons.length; i++ ) {
this.buttons[i].draw();
}
}
}
});
var c = document.createElement('canvas');
c.id = 'canvas';
document.body.appendChild(c);
ig.main( '#canvas', Globo, 60, 320, 480, 2 );
});
The index.html is this:
<!DOCTYPE html>
<html>
<head>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<title>Impact Game</title>
<style type="text/css">
html,body {
background-color: #333;
color: #fff;
font-family: helvetica, arial, sans-serif;
margin: 0;
padding: 0;
font-size: 12pt;
}
#canvas {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}
</style>
<script type="text/javascript" src="lib/impact/impact.js"></script>
<script type="text/javascript" src="lib/game/main.js"></script>
</head>
<body>
</body>
</html>
As you can see, I'm using the touch-button plugin plus a fix, but it didn't served.
I hope you can help me, and thanks for the interest in advance. :)
