Bueno, hacia tiempo que no posteaba por el foro, pero parece que esta vez voy a necesditar algo de ayuda, bueno, pues la cuestion es que estoy programando un pequeño juego con Sprites con Visual Basic.NET (2003) y hay hay algunas cosas que quiero crear como cubos y asi, pero en ejecucion, es decir, que al hacer una accion determinada, aparezca un label con fondo negro, por ejemplo, asta ahi bien, con el tema de Dim cubo as new label, y luego las propiedades, y todo eso dentro de una funcion, que al llamarla, lo genere, hasta aqui todo bien, pero puesto que son varias cosas, y el usuario, puede interatuar con ellas, habia decidido crear una clase para hacer esto, pero con clases, no me funciona y ya que nunca he trabajado con ellas (aunque he leido bastante y me se bastante teoria), me parecia una buena forma de aprender, haber si podeis echarme una mano.
Os explico aqui mas o menos que hice, y me decis en que he metido la gamba
Lo primero que hice fue crear el archivo de Clase
luego le cambie el nombre a la clase
puse el Dim cubo as New Label y el Dim vForm1 as New Form1 (para el controls.add())
cree las funciones dentro (Public Sub) por ejemplo cubo()
y dentro de las funciones, las propiedades, y el vForm1.controls.add(cubo)
en los ejemplos que he visto por internet no he visto nada de constructores, asique no puse pero puede que el error venga de ahi...
luego en el Form1, cree la clase con el Dim claseObejetos as new objetos
y luego en el evento por ejemplo onclick, de un button, lo ponia lo de objeto.cubo()
y no me funcionaba, pero si la funcion estaba en el form1, si, alguna idea?
Las clases son la bendición de visual studio :xD puedes simplificar muchisimas cosas, las clases simples se basan en 3 cosas un contructor que inicializa los objetos necesarios y da valor a las variables usando o no parametros, los miembros públicos que están a disposición del usuario y los miembros privados que están a disposición de los públicos pero no a disposición del usuario. Entiendase por miembros subs, variables, funciones, propiedadesm etc.
Un ejemplo, sencillo, recuerda tener siempre en cuenta las 3 cosas para una clase simple. Igualmente te recomiendo para tu caso investigar sobre herencia y como funcionan las palabras para las declaraciones (private, public, shared, readonly, shadows, etc.)
Public Class Persona
Private _Nombre As String, _
_Edad As Byte
Public Property Nombre() As String
Get
Return _Nombre
End Get
Set(ByVal value As String)
_Nombre = value
End Set
End Property
Public Property Edad() As Byte
Get
Return _Edad
End Get
Set(ByVal value As Byte)
_Edad = value
End Set
End Property
Public ReadOnly Property EsMayorDeEdad() As Boolean
Get
Return _Edad >= 18
End Get
End Property
Public Sub New(ByVal Nombre As String, ByVal Edad As Byte)
_Nombre = Nombre
_Edad = Edad
End Sub
End Class
Si pones el código de la clase te puedo ayudar con el error específico