JesusAliso Posted March 18, 2014 Share Posted March 18, 2014 (edited) Hola, He estado viendo que muchas veces se utiliza "onClientRender". Pero el problema es que nunca lo he usado y quizás por eso estoy fallando al crear algo un poco mas avanzado. En todo caso, me ayudaría una breve explicación de este Evento, y una pequeña parte de un script , pero que se vea una explicación y sea en entendible. Gracias* EDIT: Por favor, si no tienes un conocimiento perfecto o normal con "onClientRender" no intentes ayudarme. No quiero confundirme. Edited March 18, 2014 by Guest Link to comment
#Silvery' Posted March 18, 2014 Share Posted March 18, 2014 Debe leer la wiki te lo dejo aquí. 'onClientRender': Se requiere para las funciones de dibujo DirectX, y también es útil para otras operaciones client-side que tienen que ser aplicado repetidamente con diferencias muy corto de tiempo entre ellos. Link to comment
JesusAliso Posted March 18, 2014 Author Share Posted March 18, 2014 @Seku, perdona. Pero no te lo tomes a mal. todos quieren ayudar, pero si acudo aquí es por que no entendí algo en la "Wiki". Tu explicación es la misma que lo que dice la "Wiki"... Bueno, perdona si te ofendí. Seguiré esperando respuestas. Link to comment
MTA Team 0xCiBeR Posted March 18, 2014 MTA Team Share Posted March 18, 2014 onClientRender es un evento que se triggea en cada frame. Esto quiere decir, que en cada Frame que pasa el cliente, se triggea ese evento. El uso de onClientRender es indispensable para visualizar elementos creados con las funciones de dibujado DX ya que estos deben ser re-dibujados en cada frame. onClientRender y onClientPreRender, son eventos que no deben usarse para cualquier cosa ya que suponen una cierta carga del lado del cliente. Se puede utilizar, por ejemplo, para comprobar cosas cada frame y a la vez, dibujarlo. Si me posteas tu código, con gusto puedo explicarte cual es el inconveniente. Saludos. Link to comment
Alexs Posted March 18, 2014 Share Posted March 18, 2014 Hola, He estado viendo que muchas veces se utiliza "onClientRender". Pero el problema es que nunca lo he usado y quizás por eso estoy fallando al crear algo un poco mas avanzado.En todo caso, me ayudaría una breve explicación de este Evento, y una pequeña parte de un script , pero que se vea una explicación y sea en entendible. Gracias* EDIT: Por favor, si no tienes un conocimiento perfecto o normal con "onClientRender" no intentes ayudarme. No quiero confundirme. No es un evento muy complejo, se ejecuta cada vez que el cliente renderiza, lo que sucede entre 30 y 60 veces por segundo (Frames Per Second), por ser un evento del lado del cliente, no genera una carga al servidor, aunque dependiendo de la complejidad de tu código si puede significar una baja en la velocidad de renderizado (Frames Per Second) de los jugadores, en el caso de las funciones de dibujado del tipo DirectX (funciones dx), estas solo son visibles durante el cuadro actual, por lo que utilizarlas junto a 'onClientRender' es lo necesario para hacerlas mantenerse visibles durante un periodo de tiempo mayor a un cuadro. Quizá mi explicación es un poco confusa, pero en resumidas cuentas, esta función se ejecuta entre 30 y 60 veces por segundo y debes moderar su uso para evitar una baja en los FPS del cliente, te dejare algunos links que podrían serte útiles: https://wiki.multitheftauto.com/wiki/Ga ... sing_Order *En este enlace se muestra el orden de procesado de cada cuadro, te sera util pues ademas explica la diferencia entre 'onClientRender', 'onClientPreRender' y 'onClientHUDRender'.* Por si no entiendes suficiente ingles: 'onClientRender' -> Se ejecuta luego del renderizado, con datos actualizados sobre las posiciones y el entorno. 'onClientPreRender' -> Se ejecuta antes del renderizado, pero antes del renderizado y por ende, algunos datos pueden tener un ligero desfase, según la wiki, este evento funciona bien para utilizar DirectX en conjunto a elementos del mundo, pero según mi experiencia, eso puede resultar un poco pesado para el cliente. 'onClientHUDRender' -> Este evento se ejecuta antes de que el HUD de GTA se actualice, así que si quieres colocar algún efecto visual tras este, es una buena opción. http://es.wikipedia.org/wiki/Renderizacion *La wikipedia nunca esta de mas* *Por recomendación de @Mr. Aleks, te dejare un ejemplo al respecto, es el mismo ejemplo del foro, pero te dejare anotaciones explicándolo. function updateCamera () --Acá comienza la función. local x, y, z = getElementPosition ( localPlayer ) --X, Y y Z se definen como la posición del jugador. setCameraMatrix ( x, y, z + 50, x, y, z ) --Se posiciona la cámara 50 metros sobre la posición ya conseguida y se apunta hacia esta, creando un efecto parecido al de GTA2. end --Acá ya se acaba esta función. addEventHandler ( "onClientRender", root, updateCamera ) --Se enlaza la función 'updateCamera' al evento 'onClientRender' lo que consigue que las variables X, Y y Z se actualicen en cada cuadro y creen finalmente un fluido efecto de cámara. Link to comment
Tomas Posted March 20, 2014 Share Posted March 20, 2014 Estas en un foro amewo, aquí te ayuda el que quiere no los que cumplan con tus pautas. Link to comment
JesusAliso Posted March 20, 2014 Author Share Posted March 20, 2014 Estas en un foro amewo, aquí te ayuda el que quiere no los que cumplan con tus pautas. Cierren el tema. Link to comment
Alexs Posted March 20, 2014 Share Posted March 20, 2014 Estas en un foro amewo, aquí te ayuda el que quiere no los que cumplan con tus pautas. viewtopic.php?f=122&t=40101&p=406870 Link to comment
MTA Team 0xCiBeR Posted March 20, 2014 MTA Team Share Posted March 20, 2014 Tema Cerrado. Link to comment
Recommended Posts