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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 [46] 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ... 238
451  Programación / Desarrollo Web / Re: envio de variables php javascrit en: 17 Agosto 2016, 20:40 pm
Simple, pero por favor, pon el código con el tag correspondiente. Gracias.

Código
  1. <?php
  2.  
  3. //tomo la consulta
  4.  
  5. $usu=$ob->getusu();
  6.  
  7. //recorro la consulta
  8.  
  9. for($i=0;$i<sizeof($usu);$i++)
  10. {
  11. //pero no se como tomar la variable que contiene mi dato de base de datos y enviarla a una funcion javascript
  12.  
  13. echo '<a href="javascript:void(0)" onclick="javascript:chatWith(\''.$usu[$i]["nombre"].'\')">'.$usu[$i]["nombre"].'</a>';
  14.  
  15. }
  16.  
  17. ?>

Que he hecho?

Simplemente, no se la manía, pero a mi no me gusta para nada el <?php ?>, lo uso para abrir y cerrar archivos (y con las nuevas versiones de PHP no es ni necesario cerrar el archivo). Es una practica más sucia pero mas efectiva.

Usad echos! Que para eso existen!

Otra cosa, con HTML, te recomiendo que tus echos los habrás con comillas no dobles comillas por el tema de las propiedades de los tags. Y para el js, simplemente escapando los tags no deberías tener problema. Con \'.

Un saludo.
452  Programación / Desarrollo Web / Re: obtener el tiempo de tecleo en: 17 Agosto 2016, 20:32 pm
Algo así te valdría como comienzo?

Código
  1. <script>
  2. var empezo = false,
  3. comienzo = 0;
  4.  
  5. function coger_tiempo()
  6. {
  7.  if(!empezo)
  8.  {
  9.   comienzo = new Date().getTime();
  10. empezo = true;
  11.  }
  12. }
  13.  
  14. function acabar()
  15. {
  16. alert("El usuario tardó "+(new Date().getTime()-comienzo)+" ms en loguearse.");
  17. }
  18. </script>
  19.  
  20. Usuario: <input type="text" onkeydown="coger_tiempo();" /><br>
  21. Contraseña: <input type="password" onkeydown="coger_tiempo();" /><br>
  22. <input type="button" value="Loguearse" onclick="acabar();" />

Ten en cuenta, que a todo eso le tienes que meter AJAX y un formulario. Que supongo que ya tendrás. Esto solo es para que te guíes.
453  Programación / Desarrollo Web / Re: como incorporar javascript css a django? en: 17 Agosto 2016, 20:21 pm
Si no muestras nada de código, ni ninguna referencia, ni ninguna captura de pantalla difícilmente te vamos a poder ayudar :silbar:
454  Programación / Desarrollo Web / Re: Ayuda: Eliminar las clases CSS por defecto en: 17 Agosto 2016, 20:20 pm
Buenas JonaLamper,

muy sencillo. Con solo modificar los atributos background-color y border ya puedes hacer de casi todo a tu botón.

No se si se trata de una trampa pero en tu imagen no veo nada relevante, más bien parece que el botón ha desaparecido :laugh:

De todas formas, aquí tienes un ejemplo:

https://jsfiddle.net/ogbnfy5x/

Como ves, el botón parece texto... Pero, ops, parece que me he equivocado Ikillnukes, aún se sigue viendo el border azul por defecto de algunos navegadores al hacer click, en ese caso, solo es añadirle otro atributo llamado outline.

Código
  1. outline: none;

Esa es la solución.

Un saludo.
455  Informática / Software / ¿Alguno le da tantos problemas como a mi Windows 10? en: 17 Agosto 2016, 15:31 pm
Vamos a ver, desde que tengo Windows 10 es un problema detrás de otro.

Si dijera yo todos los problemas que estoy teniendo ahora con Windows 10, la culpa la tiene la forma que tiene de ser los de Windows. ¿Pero que es eso de que te instale la aplicación si le das a la X de cerrar la p**a ventana de actualizar? Claro, uno se va a hacer sus cosas y cuando uno vuelve se encuentra sorpresas.

Para colmo, cuando quiero volver para atrás me encuentro que al mes se borra la copia de Windows 7.

Os enumero una lista:

Problemas con el Wi-Fi
Problemas con XAMPP
Problemas con Java y Minecraft
Problemas con el antivirus

Por suerte, he conseguido arreglar todos, por si os interesa:

El problema con el Wi-Fi se soluciona con esto:

https://gastonoberti.wordpress.com/2014/01/14/winsock-que-es-y-como-repararlo/

El problema con XAMPP simplemente es un conflicto con un nuevo servicio de Windows 10, "Servicio de publicación de la World Wide Web" lo llaman, pa solucionar:

Simplemente, un Win + R o Ejecutar, ponemos services.msc y detenemos el servicio. Ya he intentado desactivarlo desde cmd para que no se ejecute más sin suerte.

El problema entre Java y Minecraft, en realidad la culpa la tiene mi tarjeta integrada, que es una caca (una Intel HD 3000), con Java 102 parece que ya funciona. Eso si, las tropecientas veces que Minecraft se me ha cerrado y he tenido que volver a abrir. Ese tiempo nadie me lo devuelve.

Los problemas con el antivirus, pues se ve que, en fin, los anti-virus si no los pagan no te encuentras nada bueno. Tenía AVG, y tuve que desinstalarmelo por el tema de que con el CodeBlocks saltaba un falso positivo. Me puse el MSIE (Microsoft Security Essentials), y ahora me encuentro que Windows 10 al actualizarse, lo "desinstala" pero de una forma "poco efectiva". En definitiva, lo deja igual que estaba y corriendo al mismo tiempo que Windows Defender, el resultado, más de 2 horas con el PC relentizado a más no poder.

Para solucionar esto, en teoría con instalar esto ya basta, y parece que no tiene mucho problema, pero no se que decir: http://download.microsoft.com/download/D/9/7/D97359C4-B5EA-40C7-9991-3EEF14D4848F/MicrosoftFixit51015.msi

En fin, si tengo más problemas (o me acuerdo de otros) ya los iré poniendo por aquí. Por el momento, de vez en cuando cuando uso mucho el Visual Studio se me relentiza un montón el ordenador, pero creo que eso se debe a que el Garbage Collector de Windows 10 es una basura. (Sí, tengo nada más que 4GB de RAM)

Un saludo.
PD: También he de recordar que mi instalación de Windows 10 no es limpia, y no me da la santísima gana de formatear el ordenador, solo por placer de los de Windows, así lo digo. :¬¬
456  Foros Generales / Foro Libre / Re: Grupo "No Oficial" de Telegram de EHN en: 17 Agosto 2016, 14:48 pm
Si el foro esta como esta, pior si se redirecciona a otro lugar.  :silbar:

Y como está? Hace tiempo que no me paso por aquí, necesito una actualización.
457  Foros Generales / Foro Libre / Re: Grupo "No Oficial" de Telegram de EHN en: 17 Agosto 2016, 14:39 pm
Ya bueno, pensé en vosotros cuando fui a postear, pero realmente, el grupo no es de ehn, es de programación eso si. En cualquier caso no publicasteis, la costumbre que tenemos los que ya hemos hecho un grupo es publicar un mensaje.

De todas formas me pondré los 2 grupos en mi firma. :P
458  Foros Generales / Foro Libre / Grupo "No Oficial" de Telegram de EHN en: 17 Agosto 2016, 12:36 pm
Buenas foro! No lo pensamos hace tiempo, cuando creamos el grupo por Skype y por IRC. Pero Telegram es la mejor solución y de los foros que he visto, este es uno de los pocos que no tiene un grupo de Telegram.

Acabo de crear un grupo en Telegram.

Telegram es una muy buena solución ya que está tanto para móvil (Android, iOS, Windows Phone, etc) como para escritorio o bien desde:

https://web.telegram.org

o descargando su aplicación: https://desktop.telegram.org/



Ahora podrás tener a la gente de EHN más cerca, tanto en la calle como en tu casa, ¿a que esperas a unirte?

https://telegram.me/ehn_telegram

Un saludo. ;)
459  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Reitero en que un subforo de Engines de juegos/robótica no sería una mala idea! en: 16 Agosto 2016, 20:08 pm
Siempre estamos en las mismas, no es por entrar en dilemas, pero el foro de sugerencias de la página, PARA CIERTAS COSAS, parece que es de ADORNO. :¬¬

Pero bueno, que se le va a hacer, suficientemente es grande la web ya para estar metiéndole mas gurrumancia al asunto.
460  Programación / .NET (C#, VB.NET, ASP) / Crear una Referencia en Unity (DLL con código en C#/VB.NET/C++) en Visual Studio en: 16 Agosto 2016, 17:40 pm
Actualizo: El post es de mi autoría completamente, de hecho todas las imágenes y códigos que ven los he realizado yo por completo, eso sí, si quieren tener una versión más "actualizada" de este post, por temas de corrección de errores y demás, aquí tienen la versión "oficial": http://lerp2dev.com/UnityDllReferencesTutorial/






¡Buenas foro! Ando realizando otro asset y bueno, investigando en internet y la interfaz de Unity he descubierto la forma de hacer una Referencia para nuestro proyecto.

Simplente, en vez de tener los archivos esparcidos por carpetas de Unity, compilamos una DLL y lo tenemos más recogidito todo. Yo esta técnica la uso para mi API, aunque me arrepiento porque ahora me estoy "jartando" a solventar Excepciones de Null Object Reference pero bueno, haya ustedes,  el proceso es más que simple, eso sí, si no se quieren "jartar" (nuevamente) a buscar información por internet, pueden seguir mi proceso el cual es simple y ¿asequible? :laugh:

Requerimientos

  • Visual Studio 2013 en adelante
  • Unity 5 o superior (la última versión estable es la 5.4.0f3)

Descarga desde EHN de VS 2013: http://foro.elhacker.net/software/visualstudio_2013_u_instaladorplantillassnippetslibscontrolestools-t406378.0.html

Aunque, si quieren una opción gratuita (por si se sienten sucios y tal): https://www.visualstudio.com/es-es/products/vs-2015-product-editions.aspx

Esta es la versión que el setup de Unity te descarga automáticamente.

No lo he probado en versiones de Unity 4, pero por algún lado leí que no se podía, eso si, en Unity 4 + DLL = Unity Pro (1500$) por eso  les digo que Unity 5 en adelante.

Aunque no estoy seguro del todo, ya que, por ejemplo, este tipo tiene problemas en la versión 5.3.0: http://forum.unity3d.com/threads/no-support-for-subclassed-monobehaviours-in-dlls.372971/ cosa que a mi no me ha pasado.

Unity 4.5.x: http://answers.unity3d.com/questions/240985/subclassed-monobehavior-in-external-dlls-not-recog.html

Unity 3: http://answers.unity3d.com/questions/52767/prefabs-not-finding-monobehaviours-moved-into-a-pl.html

De todas formas estan sin confirmar, aunque yo no me fiaría. Nadie utiliza Unity 3, pero para que vean que no miento.

Utilidades


Recomendaciones

  • No ser tan borrico (como yo) para hacerlo con Assets ya hechos, aunque bueno, cosas de no más de 1000 lineas son worth it, pero cosas de 20k de lineas como las mías no jeje
  • Hacer una compilación a cada cambio realizado, por si las moscas hay algún problema, tener localizado cuanto antes
  • Hacer varios pantallazos si tenemos una escena con algún GameObject con algún script que vamos a compilar en la DLL y no tiene los valores por defecto, para luego revertirlo, ya que nos dirá Missing Component

Comencemos...

Yo lo voy a hacer desde 0, para que vean el proceso al completo, primero crearemos un proyecto:



Configuraremos Unity para que habrá nuestros scripts desde Visual Studio (también funcionan Eclipse, Sublime Text y Notepad++ [testado por Mc.Kernel/X3R4CK3R])

Vamos a Edit > Preferences... > External Tools > External Script Editor hacemos click a la lista donde pondrá Monobehaviour y hacemos click en Browse...



La ruta por defecto de VS2015 es "%PROGRAMFILES%\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"



Añadimos un gameobject a la escena para añadir luego nuestro primer script (desde GameObject > Create Empty)



Creamos un script de ejemplo que luego usaremos para probar si las DLLs funcionan correctamente y también para acceder a la IDE de Visual Studio, lo añadimos al GameObject, le damos a Edit Script desde la tuerca, y esperamos a que la IDE cargue:



Una vez se está abriendo la IDE:



Citar
Se que es tan simple como crear un script nuevo y hacerle doble click o incluso ir el archivo de la solución (DLL Tutorial.sln) creado por Unity para abrirla, pero todo esto tiene una razón y es que luego utilizaremos el mismo GameObject para añadirle este script que será el que usaremos para debugear y ver el resultado.



Una vez aquí, ya hemos superado la primera fase del tutorial, ahora nos dirigimos a la parte complicada, yo voy a utilizar dos métodos, uno compilando mi API y otra haciéndolo con un proyecto vacío, para ambos casos es necesario crear un nuevo proyecto dentro de la misma solución:



Seleccionamos "Biblioteca de clases" (la que está con un icono de C#), le damos un nombre (es opcional) y a mi personalmente me gusta meterla en la capeta del proyecto (la que hay por encima de la carpeta de los Assets) por tema de tenerlo todo en una misma carpeta, pero podéis ponerla donde queráis.



Automáticamente se generará un archivo llamado Class1.cs



Lo utilizaremos para el segundo caso, pero empecemos antes:

Partiendo desde scripts ya hechos

Yo copiaré una carpeta que tenía con scripts preparados y la añadiré dentro de la carpeta del proyecto, para ello, debemos mostrar los archivos que no están incluidos en el proyecto:





Nota: Adicionalmente si el proyecto que estamos creando en Unity como yo, necesitaremos pegar la carpeta al proyecto de Unity para que compile y genere las Referencias requeridas más tarde:





Una vez hecho todo esto, nos vamos a las propiedades del proyecto dentro de Visual Studio (Proyecto > Propiedades de Lerp2API... (en mi caso))



Y cambiamos la versión de compilación del Framework de .NET a la 3.5 (desde Aplicación > Marco de trabajo de destino > .NET Framework 3.5):



A mi me aparece como pueden observar Unity 3.5 .net full Base Class Libraries y otras opciones, no lo tengo testado, pero realmente es lo mismo, las referencias hay que añadirlas si o si.

Ahora ya podemos incluir la carpeta que pegamos con anterioridad en la capreta base del proyecto dentro de la solución de Visual Studio, para ello, como le dimos a mostrar los archivos/carpetas ocultos, simplemente es hacer lo siguiente (hacer click derecho y darle a Incluir en el proyecto):



Como podemos observar se generarán unos cuantos errores >:D



Vamos a solventarlos, para ello:

Añadiremos las referencias desde Visual Studio:



Yo seleccionaré todas las DLLs que hay en la carpeta (Library/UnityAssemblies), pero inicialmente solo se requieren la de UnityEngine.dll y UnityEditor.dll



Nota: Copiad las DLL generadas por Unity, porque al borrar los scripts compilador por Unity, las DLL desapareceran.



Ahora los errores irán de muchos a cero, si hemos añadido todo lo requerido, probablemente, nos haga falta añadir algún que otro archivo/carpeta manualmente, como a mi me paso con el CrossPlatformInput.

Ah, otra cosa, seguramente, sus scripts contengan Directivas de Preprocesador, seguramente les interese tenerlas dentro de la DLL disponibles, para ello, les recomiendo que las añadan (DE AQUÍ QUE SE NECESITE VISUAL STUDIO 2013 EN ADELANTE), para ello vamos a ir a las propiedades del proyecto nuevamente y en el submenú Compilación, añadiremos las palabras que necesitemos, por ejemplo, yo necesito la de UNITY_EDITOR, ustedes añadan ya las que necesiten (simplemente, separandolas por comas):



Todas las keywords que no sean añadidas no serán compiladas después en la DLL.

Para compilar simplemente, hacemos click derecho en el proyecto y compilamos:



Si todo va bien se debería mostrar lo siguiente en la consola:



Ya sería copiar solamente la DLL generada y el archivo de extensión PDB a la carpeta principal o alguna subcarpeta del proyecto de Unity. Este esta en Bin/Debug/Nombre del proyecto.dll

Al añadir la DLL y el archivo PDB la IDE nos va a decir de actualizar todo, nosotros le decimos que sí





Partiendo desde cero

Simplemente es seguir el mismo proceso, crear el proyecto (usando la Biblioteca de Clases, recordar usar la del icono con el C#, aunque lo haremos con VB), establecer la versión de .NET a la 3.5, añadiremos las referencias para poder usarlas luego y poco más.

* Para usar las referencias, deberemos buscarlas en algún sitio, yo no os las puedo suministrar ya que seguramente dentro de poco queden anticuadas, para ello generad un archivo cualquier y ponedle using y el namespace que necesitéis, Unity se encargara del resto, solo copiad las dlls generadas en la carpeta que ya os he dicho, y wala, ahí tenéis las referencias que necesitéis.

Esta vez, usaremos el código de la página que antes dijimos: http://ericeastwood.com/blog/17/unity-and-dlls-c-managed-and-c-unmanaged

Código
  1. namespace TestCSharpLibrary
  2. {
  3.    public class TestCSharpLibrary
  4.    {
  5.        public static float SharpMultiply(float a, float b) {
  6.            return (a * b);
  7.        }
  8.  
  9.        public static float SharpDivide(float a, float b) {
  10.            if (b == 0)
  11.            {
  12.                return 0;
  13.            }
  14.  
  15.            return (a / b);
  16.        }
  17.    }
  18. }
  19.  

Y lo añadiremos dentro del archivo Class1.cs generado con nuestro nuevo proyecto, le daremos a compilar como ya hemos mostrado, y usaremos el script que creamos antes para abrir la IDE para mostraros como funciona, simplemente usando este código:

Código
  1. using UnityEngine;
  2.  
  3. public class NewBehaviourScript : MonoBehaviour
  4. {
  5.  
  6. // Use this for initialization
  7. void Start()
  8.    {
  9.        Debug.Log(TestCSharpLibrary.TestCSharpLibrary.SharpMultiply(4, 5));
  10. }
  11.  
  12. // Update is called once per frame
  13. void Update()
  14.    {
  15.  
  16. }
  17. }
  18.  

Al iniciar el proyecto deberiamos ver en la consola lo siguiente:





Ahora...

Hagamos lo mismo pero en VB.NET

La única diferencia aquí es que al crear el proyecto, debemos usar lo siguiente:



Por lo demás todo es lo mismo, referencias y versión de .NET

Usaremos nuevamente el mismo código pero transformado a VB

Código
  1. Namespace TestVBLibrary
  2.    Public Class TestVBLibrary
  3.        Public Shared Function BasicMultiply(a As Single, b As Single) As Single
  4.            Return (a * b)
  5.        End Function
  6.  
  7.        Public Shared Function BasicDivide(a As Single, b As Single) As Single
  8.            If b = 0 Then
  9.                Return 0
  10.            End If
  11.  
  12.            Return (a / b)
  13.        End Function
  14.    End Class
  15. End Namespace

Compilamos y añadimos nuevamente al proyecto de Unity, una vez alli, cambiamos el código del Monobehaviour por este:

Código
  1. using ClassLibrary1.TestVBLibrary;
  2. using UnityEngine;
  3.  
  4. public class NewBehaviourScript : MonoBehaviour
  5. {
  6.  
  7. // Use this for initialization
  8. void Start()
  9.    {
  10.        Debug.Log(TestVBLibrary.BasicDivide(24, 3));
  11. }
  12.  
  13. // Update is called once per frame
  14. void Update()
  15.    {
  16.  
  17. }
  18. }
  19.  

Y el resultado obviamente, será 8.

* No se porque, por alguna razón, en el using hay que utilizar la ClassLibrary1, en vez del namespace TestVBLibrary, pero bueno.



FAQ

Q: Me sale este error: Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.



A: No has cambiado a la versión 3.5 tu proyecto, relee el tutorial para ver donde has fallado.



Q: Missing Component ¿que hago?



A: Si has llegado a este punto, lo mejor que podrías haber hecho hubiera sido unos pantallazos para volver a añadir los scripts a mano, recuerda, que no se van a mostrar los típicos iconos de C# de Unity



Q: Tengo Null Object References por un tubo.

A: Las Null Object References son normales cuando has insertado en la DLL código que no es tuyo, o que has tenido mucho tiempo sin compilar. Por eso, sugerimos que compiles frecuentemente el código para evitar esto. Si el código no es tuyo, ya puedes prepararte para romperte las manos, porque estos apaños llevan la vida literalmente.

Quizás aquí encuentres como ponerle Macros a tu Visual Studio: https://msdn.microsoft.com/es-es/library/ae3cxw0w(v=vs.100).aspx

Q: ¿Cómo puedo tener el Editor Morado como tu? Mola! ;-)



A: Edit > Preferences... > Colors



Extras

¿Quieres cambiar el color de tu Unity a negro teniendo la versión Personal? Usa esta herramienta [UnityDarkSkin]:

https://www.dropbox.com/sh/5yr41qfv7wteqtu/AADMqoBY2mV2uDaeBsz5YwOaa?dl=0

¿Quieres ayudarme con mi API?

https://github.com/Ikillnukes/Lerp2API

Hazle un fork, clona y a trabajar! :silbar:

Descargas

Descarga la última versión de Unity aquí: https://unity3d.com/es/get-unity/download

Nota: Si sois nuevos en esto de Unity, os recomiendo que instaleis ciertos Builds Support como la de WebGL o la de Windows. Para poder compilar vuestro juego tanto para webs como para el sistema de operativo, si no lo hacéis, tendréis que instalar manualmente, o a través (de nuevo) del setup de Unity.





PD: Espero que tanto usuarios como moderadores ayuden a mejorar y hacer este post de lo mejor. Y recordad que si tenéis alguna sugerencia, duda o lo que sea, no olvidéis comentar. ;D

Si veis que algo no esta donde debería estar o podría ser mejorado no dudéis en reportarlo y comentarlo.

Un saludo.




Tenía que hacerlo... :xD
Páginas: 1 ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 [46] 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ... 238
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines