elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Como escribir correctamente siguiente codigo C# en Visual Basic 2013
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como escribir correctamente siguiente codigo C# en Visual Basic 2013  (Leído 457 veces)
Tazmania40

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Como escribir correctamente siguiente codigo C# en Visual Basic 2013
« en: 1 Febrero 2018, 12:38 »

Buenas, estoy con una parte de código que no consigo traducir a VB.net, en C# funciona sin problemas. He utilizado el conversor http://converter.telerik.com pero se ve que ya no funciona, también otros conversores online pero dan problemas o el código escrito no compara correctamente la colisión, ya que se trata de colisiones entre 2 objetos por pixel.

Si podéis echarme una mano tan solo con este código o bien algún conversor que funcione correctamente de C# a VB.NET

Código
  1. if (((bitsA[(x - texture1Rectangle.X) + (y - texture1Rectangle.Y) * texture1Rectangle.Width] & 0xFF000000) >> 24) > 20 &&
  2.   ((bitsB[(x - texture2Rectangle.X) + (y - texture2Rectangle.Y) * texture2Rectangle.Width] & 0xFF000000) >> 24) > 20)
  3.                    {
  4.                        PorColisionPixel = true;
  5.                        ...
  6.                    }
  7.  

El fallo se presenta en el operador de desplazamiento o número hexadecimal.
Como nota decir que el código lo estoy realizando con XNA 4.0 en Visual Basic 2013, donde ya realicé el programa en XNA 4.0 con C# funcionando correctamente la colisión por pixel y es ahora donde he traducido todo el programa y solo me falta esta parte de código que no consigo que funcione en VB.net.

Muchas gracias y saludos



En línea

Tazmania40

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Como escribir correctamente siguiente codigo C# en Visual Basic 2013
« Respuesta #1 en: 1 Febrero 2018, 13:13 »

Me respondo a mi mismo porque ya he encontrado la solución.
He encontrado otro traductor y aunque tampoco lo dejaba exacto, modificando ya lo solucioné
https://www.carlosag.net/tools/codetranslator

Código
  1. If (((bitsA((x - texture1Rectangle.X) + (y - texture1Rectangle.Y) * texture1Rectangle.Width) And &HFF000000) >> 24) > 20 AndAlso
  2.    ((bitsB((x - texture2Rectangle.X) + (y - texture2Rectangle.Y) * texture2Rectangle.Width) And &HFF000000) >> 24) > 20) Then
  3.     PorColisionPixel = True
  4.     .....
  5. End If
  6.  

El traductor te cambia el número a decimal "4278190080" (QUE TAMBIEN FUNCIONA) pero el operador de desplazamiento >> te lo cambia por +, además de varios paréntesis que no hacen falta y hay es donde fallaba en tiempo de ejecución que no hacía bien la comprobación por pixel.

Si sabéis de algún traductor de C# a VB.net y viceversa más actualizado y que sea online se agradece. Gracias y salu2


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines