Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    l'hitest mi fa schizzare la pallina

    Buongiorno a tutti,

    seguendo questo pratico tutorial sono riuscito a creare un gioco tipo
    Pong..

    http://www.sastgroup.com/leggi-tutorial.php?tutorial=Flash%20Realizzare%20gioco%2 0pong%20in%20flash

    Per chi non lo sapesse è quel gioco con due racchette e una palla che non deve oltrepassare la tua linea della racchetta altrimenti viene assegnato un punto all'avversario

    Problema:

    Ho seguito tutte le istruzioni, ma quando vado a colpire la palla con la mia racchetta o la prendo tangendola (di svincio) oppure questa mi rimane attaccata alla racchetta e poi mi va in buca..

    Allora per ovviare a questo problema ho aumentato la velocità nell'hitest l'ho portata da 1 ad 1.08 ed ho visto che colpendo la palla piena questa accellerava (perfetto);
    Quindi pensavo di aver risolto poi invece però andando a premere il tasto ricarica (per ricominciare dopo che la palla è andata in buca), la palla mi schizza dal lato dove è finita quando ho fatto goal.. io invece vorrei che mi viaggiasse alla velocità di quando ha inizio il gioco
    spero di essermi spiegato..

    ad ogni modo il codice della palla è questo:

    codice:
    onClipEvent(load){
    var latodx=663; //dimensione max campo di gioco
    var latosx=10; //dimensione max campo di gioco 
    var latosu=0; //dimensione max campo di gioco
    var latogiu=494; //dimensione max campo di gioco
    var xspeed=6; //velocita x palla
    var yspeed=6; //velocita y palla
    _root.cscore = _root.pscore = 0;
    _root.avvio=0; //indica se la palla è in gioco
    }
    onClipEvent(enterFrame){
    if(_root.avvio==0) //la palla è in gioco
    {
    _x += xspeed;
    _y += yspeed;
    if(_x>latodx){
    _root.cscore += 1; //assegna i punti
    _root.avvio=1;
    }
    if(_x<latosx){
    _root.pscore += 1; //assegna i punti
    _root.avvio=1;
    }
    if(_y>latosu){
    yspeed *= -1;
    }
    if(_y<latogiu){
    yspeed *= -1;
    }
    if(this.hitTest(_root.player)){
    _x = _root.player._x - _root.player._width/2;
    xspeed *= -1.08;
    _x+=Math.round(Math.random()*1)+3; //sbaglio del giocatore
    
    }
    if(this.hitTest(_root.computer)){
    xspeed *= -1.08;
    _x+=Math.round(Math.random()*1)+3; //sbaglio del pc
    }
    }
    }
    mentre quello sul pulsante ricarica:

    codice:
    on(release)
    {
    _root.avvio=0;
    _root.ball._x=333;
    _root.ball._y=246;
    _root.computer._y=50; 
    
    }
    Grazie
    a qunati vorranno aiutarmi!

  2. #2
    non so come ma sono riuscito a risolvere ho preso direttamente il file che era allegato al tutorial e l'ho modificato!!

    quindi adesso è ok..

    l'unica cosa che mi verrebbe da chiedervi è come posso limitarela y del mouse

    script in questione:

    onClipEvent (enterFrame) {
    _y = _root._ymouse;
    //la y non deve raggiungere + di 172.5 latosu
    //la y non deve raggiungere + di 666.3 latogiu
    }

    Grazie

  3. #3
    Originariamente inviato da eddydesigner
    non so come ma sono riuscito a risolvere ho preso direttamente il file che era allegato al tutorial e l'ho modificato!!

    quindi adesso è ok..

    l'unica cosa che mi verrebbe da chiedervi è come posso limitarela y del mouse

    script in questione:

    onClipEvent (enterFrame) {
    _y = _root._ymouse;
    //la y non deve raggiungere + di 172.5 latosu
    //la y non deve raggiungere + di 666.3 latogiu
    }

    Grazie
    se fai un controllo sulla y

    onClipEvent (enterFrame) {
    if(_y<172 & _y>666){
    _y = _root._ymouse;
    //la y non deve raggiungere + di 172.5 latosu
    //la y non deve raggiungere + di 666.3 latogiu
    }
    }

    cosi
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  4. #4
    così non va bene perchè l'oggetto mi rimane bloccato..

    è come se la _ymouse non fosse vista..

    Grazie


  5. #5
    Originariamente inviato da eddydesigner
    così non va bene perchè l'oggetto mi rimane bloccato..

    è come se la _ymouse non fosse vista..

    Grazie

    infattimentre cosi

    onClipEvent (enterFrame) {
    if(_root._ymouse<300 ){
    _y = _root._ymouse;
    //la y non deve raggiungere + di 172.5 latosu
    //la y non deve raggiungere + di 666.3 latogiu
    }
    }


    nn funge bene!
    :master:
    mo riprovo
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  6. #6
    se faccio così

    onClipEvent (enterFrame) {
    if(_root._ymouse<300 ){
    if (_root._ymouse>100){
    _y = _root._ymouse;
    //la y non deve raggiungere + di 172.5 latosu
    //la y non deve raggiungere + di 666.3 latogiu
    } }
    }

    si muove ma ci sono ancora dei problemi a volte si prende il controllo a volte no

    sicuramente c'è una strada migliore

    ciao
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  7. #7

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.