Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
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
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


Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
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...
Crollo del mercato PC nel 2026: secondo ...
Come dimostrare che gli agenti di IA fan...
Galaxy AI potrebbe creare app funzionant...
Luce solare anche di notte con i satelli...
The Witcher 4 con ambientazioni da urlo ...
007 First Light e Control Resonant avran...
DLSS 4.5 con Dynamic Multi Frame Generat...
Meta acquisisce Moltbook, il social netw...
Red Hat al MWC 2026: attenzione all'IA n...
Amazon espande 'Paga in Contanti': ora d...
Samsung Galaxy S26 Ultra, promosso ma se...
Gemini sempre più integrato in Go...
NVIDIA investe in Thinking Machines Lab:...
NVIDIA prepara NemoClaw, piattaforma ope...
Samsung testa una batteria da 20.000 mAh...
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: 07:43.


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