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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Realizar accion al cambiar de color un pixel
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Realizar accion al cambiar de color un pixel  (Leído 3,140 veces)
Demereth

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Realizar accion al cambiar de color un pixel
« en: 1 Septiembre 2012, 17:08 pm »

Hola, lo que quiero hacer es para un juego, en el que hay barras de estados,de hambre, energía, sed, magia y vida, que al bajar, ya sea por no comer, usar hechizos o que algo te cause algún daño, van volviéndose color negro, lo que quiero hacer es que a la barra de vida(roja) y magia(azul) que al bajar se vuelve negra, clickee automaticamente las pociones, para que vuelvan a llenarse las barras, esto solo quiero con la magia y la vida:



Aquí estarían las barras llenas al máximo y lo que quiero es que detecte cuando van volviendose negras:




Cuando recibiese daño o gastase mana la barra bajaría y quedaría más o menos como en la imagen de arriba. Al detectar que ha cambiado el color a negro enviaria clicks a las coordenadas de las pociones hasta que vuelva a llenarse la barra. Y así automáticamente cada vez que la vida o mana bajase de ese nivel se auto-sanaría sólo y así me ahorro tener que andar haciendolo yo.

Saludos y gracias!


En línea

Dunkansdk

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: Realizar accion al cambiar de color un pixel
« Respuesta #1 en: 3 Septiembre 2012, 01:27 am »

En la interfaz el fondo es negro, y tiene arriba un pic que calcula el porcentaje de la vida :|


En línea

Yoghurt

Desconectado Desconectado

Mensajes: 122


Si alguien se molesto en escribir, justo es leer.


Ver Perfil WWW
Re: Realizar accion al cambiar de color un pixel
« Respuesta #2 en: 3 Septiembre 2012, 20:36 pm »

El color del pixel lo obtienes con:
Código
  1. Declare Function GetPixel Lib "GDI32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long
X e Y son las coordenadas del pixel en la ventana de la aplicacion.

El hDC es la capa grafica (display device context - DC) de una aplicación y lo obtienes con:
Código
  1. Declare Function GetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As Long

El hwnd es el identificador de ventana (handle window) y lo obtienes con:
Código
  1. Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
...y te recomiendo leer esto: FindWindow Example

Creo que con eso será suficiente para ahorrarte "unos clicks".

P.D.: A veces los juegos pintan los graficos en un hDC distinto al que le entrega el sistema (debido a DirectX) o Por la configuración de pintado, pintado fijo (mas lento ya que se memoriza los pixels y es facil obtener el color de alguno) o pintado volatil (mas rapido y sin memoria de pixel). Todo esto supone un obstaculo al momento de obtener el ínfimo pixel pero solucionable, solo busca y pregunta.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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