Autor Zpráva
HawkSVK
Profil
Dobrý deň,
snažím sa vytvoriť niejakú jednoduchú online hru (auta) a chcem aby to fungovalo asi takto: každý bude mať peniaze ,za ktoré si bude mocť vylepšiť budovy,kúpiť nové auto a podobne.Budú sa im mocť zlepšovať atribúty ako napr. maximalná rýchlosť ,zrýchlenie ...
tieto atribúty budú potom s PHP načítane do flash súboru ,kde sa odohrá závod. Funguje mi všetko až na jednu vec. Dokážem načítať hodnoty a vypísať ich. Keď načítam napr. zrýchlenie nefunguje to tak ako by som chcel. Stlačím šípku hore (plyn) ,no auto nezačne stále zrýchľovať ale len sa pohne,akoby to zrýchlenie prebehlo len raz a začne spomaľovať až kým sa nezastaví,potom sa zase pohne.... (skušal som to z roznymi hodnotami a raz šlo rýchlejšie ,raz pomalšie podľa hodnoty ,takže údaje boli načítane správne) . Keď som hru hral bez načítavania údajov a zrýchlenie bolo dané vo flash súbore šlo to bez problémov (aj na webe)
http://ottawa-blackhawks.tym.sk/PHP/car.php -to je ta hra ,keby ste chceli vidieť ako to robí

vo flashy načitávanie vyzerá takto:

stop();
premenne = new LoadVars();
premenne.onLoad = function(success) {
    if (success) {
        meno.text = premenne.meno;
        acc.text = premenne.zrychlenie;
        acceleration = premenne.zrychlenie;
    }
};
premenne.load("test.php", "POST");

ak by ste chceli vedieť ešte niejakú informáciu, napíšte to tu :)
za každú pomoc a radu budem veľmi vďačný.

Moderátor Chamurappi: Mezera se dělá za interpunkční čárkou, ne před ní.
Johnik
Profil
Spis ukaz jak mas resene to ovladani auta. Mozna by pomohlo typovat prmenne, treba acceleration:Number = ...
HawkSVK
Profil
function step(who) {
    
    if (_root["car"+who].code == "player") {
        
    if (this["speed"+who]>0.3) {
            this["speed"+who] *= _root.speedDecay;
        } else {
            this["speed"+who] = 0;
        }
        
        if (Key.isDown(Key.UP) && this["speed"+who]<_root.maxSpeed) {
            this["speed"+who] += _root.acceleration;
        }
        
        if (Key.isDown(Key.DOWN)) {
            this["speed"+who] -= _root.backSpeed;
        }
         
        if (Key.isDown(Key.LEFT) && Math.abs(this["speed"+who])>0.3) {
            _root["car"+who]._rotation -= _root.rotationStep*(this["speed"+who]/_root.maxSpeed);
        }
            
        if (Key.isDown(Key.RIGHT) && Math.abs(this["speed"+who])>0.3) {
            _root["car"+who]._rotation += _root.rotationStep*(this["speed"+who]/_root.maxSpeed);
        }
        this["rotation"+who] = _root["car"+who]._rotation;
        
        this["speedx"+who] = Math.sin(this["rotation"+who]*(Math.PI/180))*this["speed"+who];
        this["speedy"+who] = Math.cos(this["rotation"+who]*(Math.PI/180))*this["speed"+who]*-1;

Moderátor Chamurappi: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0