Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-07-2009, 08:52   #1
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
[C#]Modificare una classe per passargli della variabili

Io ho questa classe:
Codice:
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;
namespace Primo_videogame
{
    public class SpriteManager : Microsoft.Xna.Framework.DrawableGameComponent
    {
        SpriteBatch spriteBatch;
        List<Sprite> spriteList = new List<Sprite>();
        Texture2D tex1;
        Vector2 pos1;
        Vector2 spd1;

        public SpriteManager(Game game)
            : base(game)
        {

        }

        public override void Initialize()
        {
            pos1 = new Vector2(10.0f, 1.0f);
            spd1 = new Vector2(2.0f, 1.0f);
            base.Initialize();
        }

        protected override void LoadContent()
        {
            tex1 = Game.Content.Load<Texture2D>("astronave2");
            spriteBatch = new SpriteBatch(Game.GraphicsDevice);
            //Aggiungiamo nuovi sprite----------------------        
            spriteList.Add(new AutoSprite(tex1, pos1, spd1));

            base.LoadContent();
        }

        public override void Update(GameTime gameTime)
        {
            foreach (Sprite s in spriteList)
            {
                s.Update(gameTime);
            }

            base.Update(gameTime);

        }

        public override void Draw(GameTime gameTime)
        {
            spriteBatch.Begin();

            foreach (Sprite s in spriteList)
            {
                s.Draw(gameTime, spriteBatch);
            }

            base.Draw(gameTime);
            spriteBatch.End();
        }
    }
}
che viene richiamata così:
Codice:
SpriteManager spritemanager = new SpriteManager(this);
Components.Add(spritemanager);
se io volessi passargli delle variabili (per esempio i valori di pos1 e spd1) cosa dovrei modificare nella classe?
Perchè non so bene cosa e soprattutto dove devo modificare la classe... Grazie

Ultima modifica di Mattyfog : 22-07-2009 alle 08:55.
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2009, 09:14   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Mattyfog Guarda i messaggi
se io volessi passargli delle variabili (per esempio i valori di pos1 e spd1) cosa dovrei modificare nella classe?
Immagino dovrebbe essere sufficiente dotare la classe dei relativi getter e setter per quei due campi.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2009, 09:21   #3
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Immagino dovrebbe essere sufficiente dotare la classe dei relativi getter e setter per quei due campi.
ok forse è un po' preso per imparare xna
provo a vedere che cosa sono
grazieee
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2009, 10:27   #4
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
uff non capisco come usarli
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2009, 11:38   #5
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
allora, tu hai messo il codice di questa classe SpriteManager e di come la utilizzi da qualche parte. dici che devi passare dei parametri quindi presumo a questa classe, visto che è l'unica cosa che vediamo. se così, passali al costruttore. oppure, se ti servono solo in un metodo, solo a quel determinato metodo.
un esempio:

Codice:
 public SpriteManager(Game game, Vector2 pos1tmp, Vector2 spd1tmp)
            : base(game)
        {
            pos1 = pos1tmp;
            spd1 = spd1tmp;
        }
e

Codice:
SpriteManager spritemanager = new SpriteManager(this, new Vector2(0f, 0f), New Vector2(0f, 0f));
è solo un esempio.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2009, 13:45   #6
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
Codice:
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;
namespace Primo_videogame
{
    public class SpriteManager : Microsoft.Xna.Framework.DrawableGameComponent
    {
        SpriteBatch spriteBatch;
        List<Sprite> spriteList = new List<Sprite>();
        Texture2D tex1;
        Vector2 pos1;
        Vector2 spd1;

        public SpriteManager(Game game, Vector2 pos1)
            : base(game)
        {

        }
        public override void Initialize()
        {
            ///pos1 = new Vector2(10.0f, 1.0f);
            spd1 = new Vector2(2.0f, 1.0f);
            base.Initialize();
        }

        protected override void LoadContent()
        {
            tex1 = Game.Content.Load<Texture2D>("astronave2");
            spriteBatch = new SpriteBatch(Game.GraphicsDevice);
            //Aggiungiamo nuovi sprite----------------------        
            spriteList.Add(new AutoSprite(tex1, pos1, spd1));
            base.LoadContent();
        }

        public override void Update(GameTime gameTime)
        {
            foreach (Sprite s in spriteList)
            {
                s.Update(gameTime);
            }

            base.Update(gameTime);

        }

        public override void Draw(GameTime gameTime)
        {
            spriteBatch.Begin();

            foreach (Sprite s in spriteList)
            {
                s.Draw(gameTime, spriteBatch);
            }

            base.Draw(gameTime);
            spriteBatch.End();
        }
    }
}
ho cambiato solo ciò che ho messo in grassetto...
Fatto sta che non cambia nulla qualsiasi valore io passi
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2009, 13:59   #7
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Quote:
Originariamente inviato da Mattyfog Guarda i messaggi
ho cambiato solo ciò che ho messo in grassetto...
Fatto sta che non cambia nulla qualsiasi valore io passi
non ha senso: lo passi ad un metodo e non lo usi in quel metodo. così lo perdi.

il mio codice l'hai provato? ovviamente dovresti togliere l'inizializzazione in Initialize() o sovrascrivi i valori.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2009, 18:35   #8
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
Quote:
Originariamente inviato da ndakota Guarda i messaggi
non ha senso: lo passi ad un metodo e non lo usi in quel metodo. così lo perdi.

il mio codice l'hai provato? ovviamente dovresti togliere l'inizializzazione in Initialize() o sovrascrivi i valori.
riprovato... ti chiedo scusa avevo scritto male una cosa e perciò non funzionava! Ora con il tuo codice funziona!!!
Grazie infiniteeeeeeeee
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2009, 18:58   #9
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
figurati
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2009, 12:56   #10
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
è possibile fare in modo che delle variabili siano disponibili in tutta l'applicazione?
perchè ricevo questo errore:
Il nome 'astronave1_position' non esiste nel contesto corrente
(so che significa...)
oppure non esistono i puntatori come in c++?
perchè vorrei evitare di passare ai diversi metodi la variabile perchè al momento dell'uso potrebbe già essere cambiato il suo valore...
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2009, 14:12   #11
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
certo. crei una struct, dichiari la variabile che ti serve pubblica ed il gioco è fatto. io eviterei una cosa del genere comunque. impara bene la programmazione orientata agli oggetti. altrimenti posta un po' di codice, speiga bene quello che vuoi fare e ti aiutiamo noi.
ndakota è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La prima missione orbitale del razzo spa...
Servizi in streaming sempre più c...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
Cina: la CMSA potrebbe cambiare parte de...
68 mensilità di bonus per i dipen...
Rocket Lab ha fatto ricorso contro la de...
Nutanix rende disponibile Azure Virtual ...
Il padrino del deep learning avverte: gl...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v