Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Tazmania40

#11
Buenas, estoy intentando traducir un ejemplo de C# para XNA donde trata una colisión por píxel entre 2 rectángulos. En C# para XNA me funciona correctamente, pero en VB2013 que también permite la librerias de XNA y ya he realizado varios programas sin problemas, tiene las mismas sentencias solo que cambia la sintaxis. Paso el código y en negrita donde muestra el problema, la línea del error es "Player.GetData(texturaPlayer), me imagino que este método lo que hace es copiar todos los colores de la textura. Estoy probando de muchas formas, inicializando  la instancia de todos los array y no doy con ello.

Mensaje de error al ejecutar: "The size of the data passed in is too large or too small for this resource."

Código (vbnet) [Seleccionar]

Private Player As Texture2D
Private rectPlayer As Rectangle
Private texturaPlayer() As Color

Protected Overrides Sub LoadContent()
' Carga textura Jugador 1 y copia el total número colores
Player = Content.Load(Of Texture2D)("Imagenes\Sprite1")
ReDim texturaPlayer(Player.Width * Player.Height)
Player.GetData(texturaPlayer)
...

End Sub


a la función que llamo luego es:
Código (vbnet) [Seleccionar]

If intersectPixel(rectPlayer, texturaPlayer, rectRoca, texturaRoca) Then
...


El código en C# para XNA donde funciona sin problemas es:
Código (csharp) [Seleccionar]

Texture2D Player;                               // Sprite del Jugador1
Rectangle rectPlayer;                          // Rectángulo Jugador1 (colisión)
Color[] texturaPlayer;                         // Colores Jugador1

protected override void LoadContent()
{
// Carga textura Jugador 1 y copia el total numero colores
Player = Content.Load<Texture2D>("Imagenes/Sprite1");
texturaPlayer = new Color[Player.Width * Player.Height];
Player.GetData(texturaPlayer);
...

}


Muchos pensaréis que porque no lo programo en C# para XNA y aunque lo entiendo, soy de los que le gusta seguir con el mismo lenguaje y el juego que estoy realizando lo quiero hacer en Visual Basic 2013 con XNA.

A ver si hay alguien que me pueda echar una mano y así poder continuar con el juego, suelo empezar por lo que me resulta más difícil e intento resolver mediante pequeños ejemplos todas las posibles dificultades antes de comenzar el proyecto.

Muchas gracias y saludos
#12
Informaros que no es la primera vez que a Telefonica le ha ocurrido algo así y deciros que parece le compensa más perder ese día por el ataque y trabajar el fin de semana restaurando equipos y actualizando parches que no actualizar los parches inmediatos sin hacer las pruebas y que luego falle en las aplicaciones que dan servicio a los clientes.

Lo que estoy de acuerdo es que deberían agilizar esas pruebas e instalar con menos demora esos parches. Está claro que en las empresas grandes o medianas los servidores principales no están con SO Windows y por ello aquellos que disponen de móviles, routers, etc no se ven afectados.

Desde aqui deciros que a los externos que utilizamos y nos conectamos a las aplicaciones de Telefonica, hoy ya podemos realizarlo sin ningún problema y nuestros equipos ya tenían el parche instalado, aun así hemos actualizado los restantes, asi como comprobado la actualización del antivirus.

Saludetes
#13
Buenas, os comento que yo soy un trabajador que aunque está para otra empresa trabajo para un cliente que a su vez el cliente es Telefonica, por tanto tengo que conectarme por VPN a las aplicaciones de Telefonica para dar servicio. Nuestros ordenadores al ser propios de nuestra empresa nosotros mismo nos actualizamos los parches de Windows y naturalmente cada uno lo tiene actualizado y no hemos tenido problemas.

Pero si es cierto que las empresas grandes como Telefónica, no pueden aplicar esos parches inmediatos puesto que llevan muchas aplicaciones que deben ser probadas en un entorno cerrado y ver si no hay problemas, ya que si fallaran no podrían dar servicio y perderían mucho más.

No me extraña que saquen hasta parches para Windows XP, Vista, server 2003, SO que están sin soporte porque el alcanze es muy grande y todavía siguen utilizando empresas. Para mí la culpa se inclina más por Microsoft puesto que estos agujeros no los puede tener y también para los antivirus que dan soporte a las empresas, puesto que para el pastón que deben pagar para tener el antivirus con todos los soprte malware, phishing, troyanos, etc y que no detecte nada y encima se copie dentro de la red rapidamente.

La verdad que da un poco miedo pensar que la tecnología avanza en todo y que al final cualquier cosa que pueda conectarse a internet esté expuesta. No veo bien en el caso del WannaCry que haya afectado a hospitales y con ello a vidas humanas.

Como nota decir que he visto que este tipo de virus "Ramsomware" está realizado en C# y aunque yo programo en Visual Basic NET no he visto muy complicado el entenderlo. Creo yo que el realizar virus con unos conocimientos altos puedes hacerlos, pero el tener una infraestructura donde como lanzar, que no te pillen, disponer de herramientas no detectables y otras cosas, tiene que ser algún gobierno u organización pensado para realizar estos ataques.

Saludetes
#14
Buenas estoy intentando simplificar este código, en concreto lo que aparece entre comentarios. El código me funciona pero deseo reprentar los datos mediante una lista en una sola línea, o tupla como lo llaman... estoy probando con {} tal y como lo hago con los array o matrices, pero no doy con ello, alguna sugerencia. Gracias y salu2

Código (vbnet) [Seleccionar]

Private Structure Cord
   Public X, Y as Integer
End Structure

Private Structure Obj
   Public PosA as Cord
   Public PosR() as Cord
End Structure


Private Obj1 As Obj        ' Declaramos un Objeto de la estructura Obj
ReDim Obj1.PosR(2)       ' Definimos la matriz de la estructura a 3 valores

' -------- Esto funciona, deseo simplificar algo estilo
' Obj1 = { {10, 20}, { {5, 3}, {7, 9}, {1, 4} } }

Obj1.PosA.X = 10 : Obj1.PosA.Y = 20
Obj1.PosR(0).X = 5 : Obj1.PosR(0).Y = 3
Obj1.PosR(1).X = 7 : Obj1.PosR(1).Y = 9
Obj1.PosR(2).X = 1 : Obj1.PosR(2).Y = 4

' ----------------------------------------
' Representar esta parte mediante una línea, tupla o como se haga en
' Visual Basic 2013

Procedimiento(Obj1)      ' Pasar el procedimiento con el Objeto

#15
Gracias Nebire por toda la información, ampliándola aqui están los precios

https://www.cert.fnmt.es/documents/10446703/10511896/Precios_Certificados_Ac_Componentes.pdf

vamos estos son más caros que el otro link (390 € al año) y bajando según los años, menudos caraduras pero así somos los españoles que pretendemos cobrar más caro. Mi opinión es que me parece mentira que para que para compartir tus propios programas sin ánimo de lucro por internet te pongan cada vez más impedimentos y siempre que uno pague ciertos servicios tus programas ya son de confianza y no tienen virus, es increible, claro las grandes compañías te meten virus espia, troyanos y como pagan pues ya los antivirus, antimalware, bloqueadores publicidad... dicen que es seguro, de risa, está claro que los pequeños programadores que quieran empezar e ir por libres lo tienen muy difícil sino pagan bastantes servicios, no solo esto, sino paginas web, dominio, distribuciones, etc. Solo les queda el camino de meterse en una empresa que les explote por 4 duros y todo el dia currando.

Lo que comentas Nebire sobre virustotal ya lo hago desde que empecé a publicar programas en internet, en Softonic y PortalProgramas (por cierto si sabéis que otras páginas están bien para publicar comentarmelo por aqui puesto que Softonic ya canceló su página). El problema que ahora los antivirus empiezan a incorporar más defensas y el usuario que no sabe nada pues no se fia y no se baja nada, para uno mismo lo solucionas consultando e impidiendo que tu antivirus revise ciertas rutas (por ejemplo yo tengo puesta la ruta donde se ejecuta el Visual Studio y una carpeta del escritorio). Así nos va que prefieren usuarios tontos que no toquen nada y que sigan las directrices de las grandes empresas y las preferencias que ellos quieran. A todo esto se apunta el negocio del Estado que hoy día hasta por respirar ya te cobra.

Bueno para mi la programación es un hobby, todos los días pues miro un poco, programo lo que quiero y no tengo prisa por nada, algunos les gusta leer, jugar a video-juegos, etc, ayudo a mi hija a realizarle algunos programas educativos y otros de juegos y a enseñarla esto de la nuevas tecnologías, aunque hoy día los peques ya saben mucho, pero hay que estar con ellos para indicarles lo que esta bien.

Gracias y saludetes
#16
Gracias por la información Elektro, la chica que me atendió me dijo que si se podía firmar los programas, ahora desconozco si es como dices tu y el certificado es a nivel personal, pero claro si la entidad es la casa de la moneda me imagino que a uno le inspira más confianza sabiendo que la persona es quien dice ser y que lleva ya tiempo realizando programas para el público.

He encontrado información también en esta página como bien dices es de pago
https://www.digicert.com/es/codigo/firma-de-codigo.htm
pero tampoco es un pastizal como comentas Elektro, por una año son 200 € aprox y se abarata si coges para más años. Si yo me dedicara a ello y obtuviera ingresos seguramente software de este tipo utilizaría y ofuscadores.

De todas formas voy a pasar y seguir a lo mio, ahora Avast parece como Windows 10 que se actualiza solo, he llegado a casa y al encender ya se habia actualizado de versión, no el motor del antivirus... en fin. Ya he modificado el post anterior, desconocía los enlaces a sitios web, no era mi intención promocionarme, tan solo que si alguien que fuera a comentar y se bajara un programa viera el resultado si tenía el Avast o cualquier otro antivirus que le impedia ejecutar el archivo exe y eso que normalmente pongo varios archivos, con un txt y luego los comprimo en zip, rar y explico todo el proceso que realiza, incluso te los bajas y lo pasas con el antivirus y te dicen que no tienen virus, pero luego al ejecutar si tienes la opción activada provoca error, incluso veo que al bajar también ciertos ficheros comprimidos.

Gracias y saludos
#17
Amplio información, he llamado a estos teléfonos de FNMT (Fábrica Nacional de Moneda y Timbre)
91-740-69-82 / 91-704-01-91 y me han dicho que si, que sacando un certificado digital puedo anexar a mis programas (PFX para IE) (P12 para Firefox), que hay que hacerlo desde un mismo ordenador toda la operación y el mismo navegador.

Me imagino que tendré que realizarlo con IE puesto que es de Microsoft para poder ensamblarlo con Visual Studio 2013. Si alguien ha realizado los pasos y si todo ha ido bien y ha conseguido el objetivo de que sus programas confien y no salte los antivirus, os agradecería las respuestas. También los pasos, yo he visto en las propiedades de mi proyecto, en el apartado Firma, Firmar el ensamblado... si es ahí donde hay que proceder antes de compilar y luego en el ejecutable ya aparece la pestaña "Firmas digitales" ??

Solicitare certificado y ya os comentaré por aqui.

Gracias y saludos
#18
Buenas esto es a modo de consulta, ya que veo ultimamente que antivirus como Avast tienen una nueva tecnología llamada CyberCapture y claro aquellos programas que publicas que encima son de forma desinteresada y lo haces para compartir pues si ya te ponen impedimentos para que la gente no se los baje porque salte el antivirus, los bloquee, diga que están siendo estudiados por laboratorio...

He tenido que poner comentarios para que desactiven dicha opción, hacer video-tutoriales de canal YouTube para dar más confianza de que los programas que realizas no son maliciosos, en fin que parece que aquellos que tienen esto de la programación como un hobby se tenga que convertir casi como un empresa pero sin facturar...

Quería información si alguien más profesional ha firmado sus proyectos, si ha solicitado un certificado a la casa de la moneda, según tengo entendido tienen que ser con la extensión PFX puesto que lo que quería sería ensamblarlo con el ejecutable y que luego en firmas digitales apareciese el autor y que naturalmente la entidad fuese la casa de la moneda. ¿Esto sería como persona física?, ¿Que pasos exactos habéis seguido si alguien lo ha realizado?, tengo la página

https://www.sede.fnmt.gob.es/certificados

donde me iré informando, pero yo no deseo un certificado para asuntos de trámites de multas, hacienda, etc, sino un certificado para autenticar mis programas con firma digital y saber si eso elimina de los antivirus, por lo menos confian y te permiten elegir si ejecutar, no se, totalmente desconozco esto y lo único que me gusta en programar y compartir, no trabajo en programación, pero parece que cada vez los pequeños programadores se lo ponen difícil para compartir su hobby.

Cree un canal Youtube para dar más confianza con respecto a mis programas. Al final uno va a programar para si mismo y su familia y ya está, así menos quebraderos de cabeza, porque empieza programando y luego tiene que aprender alojar información web, crear canal youtube, diseño de gráficos, sonido, etc

Gracias y saludos
#19
Lo que comentas es como el control Timer, donde efectivamente en todos los equipos te va a la misma velocidad, es lo que utilizaba anteriormente, pero al utilizar este nuevo modo con "protected overrides Sub OnPaint" el movimiento y la carga es fluida y se ve muy bien y no hay reflejo, solo tenía que solucionar el tema de retardo en diferentes procesadores y de momento encontré una clase llamada Stopwatch, lo he dicho en el otro post. Aquí tienes el enlace, estoy con pruebas pero veo que es satisfactorio. La forma que comentas creo yo que no me va a ir tan bien como esta y se parecerá al utilizar Timer.

https://msdn.microsoft.com/es-es/library/system.diagnostics.stopwatch

Saludos
#20
Buenas ya he encontrado algo que está bastante bien, para aplicarlo como una especie de contadores de precisión, para ello utilizo la clase Stopwatch "Proporciona un conjunto de métodos y propiedades que puede usar para medir el tiempo transcurrido con precisión". Aqui está donde lo he sacado y un ejemplo para mi juego.

https://msdn.microsoft.com/es-es/library/system.diagnostics.stopwatch(v=vs.110).aspx

Código (vb.net) [Seleccionar]

Private Tiempo As New Stopwatch
Private ContaT as Short = 0
Private CPU As Short = 1                          ' Distintos tipos de velocidad (defecto)

' Rutina
Dim TS As TimeSpan                                ' Representa un intervalo de tiempo
ContaT += 1                                       ' Comenzamos el contador
If ContaT = 1000 Then Tiempo.Start()              ' Inicia tiempo para intervalo
If ContaT = 4000 Then
   Tiempo.Stop()                                 ' Detiene tiempo para intervalo
   TS = Tiempo.Elapsed                           ' Tiempo transcurrido (hh:mm:ss:mm..)
   Select Case Val(TS.Seconds)                   ' Intervalo en segundos
       Case Is < 15 : CPU = 1                    ' Determinamos las distintas velocidades
       Case 15 To 24 : CPU = 2
       .....
   End Select
End If


Podemos realizar en el juego una especie de test para saber la velocidad con la que inicia o bien en la primera partida (yo analizo los primeros 30 segundos), lo he comprobado varias veces y asi determinamos en una variable llamada CPU la velocidad del juego. Con esa variable podemos aumentar el movimiento de los Objetos y el scroll horizontal del fondo de pantalla para que en cualquier tipo de procesador se ajuste casi al mismo tipo de velocidad y no de ventajas (por moverse más lentamente). La información la podemos guardar en un archivo de configuración para no tener que realizarlo más en ese equipo.

Si alguien se le ocurre algo mejor, pero esto de momento me vale para la velocidad y para las animaciones de los objetos, puesto que utilizo estos contadores donde puedo darles una precisión.

Saludos