Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: HTML5 spritesheet pyörivä kolikko

Jackie [11.02.2014 09:42:19]

#

Terve.

function spawnCoin() {
    coinsTimer.stop();

    var coinY = Math.random() * game.height / 2;

    var coin = coins.create(
        game.width,
        coinY,
		'coins',
        Math.floor(4 * Math.random())
    );
    coin.anchor.y = 0;
    coinsTimer.start();
    coinsTimer.add(4 * Math.random());
}

Tuohon 'coins' kohtaan olisi tarkoitus saada pyörivä kolikko, joka toteutettu seuraavasti:

var assets = {
spritesheet: {
coins: ['coin.png', 24,24]
}


coins1 = game.add.sprite(60,10,'coins');
coins1.animations.add('flipcoin', [0, 1, 2, 3], 10, true);

Mitenkäs tällainen onnistuisi?
Gif ei myöskään pyöri tuossa kohtaa joten mikä neuvoksi?

groovyb [11.02.2014 11:47:24]

#

http://www.williammalone.com/articles/create-html5-canvas-javascript-sprite-animation/

Metabolix [11.02.2014 16:27:40]

#

Animaatio tehdään niin, että piirretään ruudulle eri hetkillä eri kuva. Sinun pitää siis piirtää monta kertaa ja joka kerta valita seuraava (tai ajallisesti oikea) kuva animaation kuvasarjasta.

Jackie [11.02.2014 19:14:18]

#

coins1 = game.add.sprite(60,10,'coins');
coins1.animations.add('flipcoin', [0, 1, 2, 3], 10, true);

Ylläoleva antaa kyllä pyörivän kolikon ruudulle mutta ongelmana oli saada ko. kolikko tuohon funkkariin.
Tarkoituksena siis luoda tuolla funktiolla ruudulle useampi pyörivä kolikko.
Käytössä phaser.js jos se vaikuttaa mihinkään.

Metabolix [11.02.2014 20:37:16]

#

En edelleenkään ymmärrä ongelmaa. Jos pitää luoda monta kolikkoa, luo monta kolikkoa. Ei kai se vaadi kuin sen, että kopioit kolikonluontikoodin useammaksi kappaleeksi tai selvität kirjaston käyttöohjeista, onko tähän jokin erityinen muu tapa. Jos taas pitää saada kolikko yhdestä funktiosta toiseen, anna se parametrina tai tallenna se johonkin molemmille funktioille näkyvään ulkopuoliseen muuttujaan. Älä nyt mene sekaisin siitä kolikosta, vaan mieti vaikka, miten saisit ihan tavallisen muuttujan (var x = 1) välitettyä paikasta toiseen.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta