Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
Al MWC Qualcomm annuncia una coalizione industriale per lanciare il 6G entro il 2029 e introduce agenti IA per la gestione autonoma della RAN. Ericsson, presente sul palco, conferma la direzione: le reti del futuro saranno IA-native fin dalla progettazione
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air è un ultraleggero da 1 kg con Ryzen 5 6600H, display 14" 16:10 e 16 GB LPDDR5. Offre buona portabilità, autonomia discreta e costruzione in alluminio, ma storage PCIe 3.0 e RAM saldata limitano l'espandibilità. A 549 euro sfida brand più noti nella stessa fascia di mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-07-2009, 09: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 09:55.
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2009, 10: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, 10: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, 11: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, 12: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, 14: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, 14: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, 19: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, 19: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, 13: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, 15: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


Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
Oggi degli ottimi auricolari Sony con ca...
Muffa in casa? Questo deumidificatore da...
Sonos Era 100: il punto d'ingresso per u...
"Non stiamo sostituendo nessuno con...
Tutti i robot in offerta ora: prezzi bas...
Fra 3 giorni, a mezzanotte, Amazon attiv...
Il principale limite del MacBook Neo &eg...
899€ in tutti i colori, crolla il prezzo...
Sempre più pubblicità su Y...
Costo della memoria alle stelle? Non ave...
GPT-5.4 cambia il modo di usare ChatGPT:...
Centinaia di petabyte in una molecola: l...
Lenovo al MWC 2026: dal PC modulare all'...
Huawei presenta gli agenti di IA per le ...
Alla scoperta di GAIA, la piattaforma IA...
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: 10:24.


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