Suggerimento per TIRO A SEGNO mappatura immagine per assegnare punti a...

domenica 04 marzo 2012 - 14.38
Tag Elenco Tags  C#  |  VB.NET  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010

zirobyte75 Profilo | Newbie

Devo realizzare un esempio per un corso, dove l'utente con un mirino spara ad un bersaglio. Il bersaglio è ovviamente una picturebox. Ogni colpo perfora l'immagine ... niente di difficile o di elaborato. Volendo assegnare un punteggio devo mappare l'immagine(pensavo di farlo attraverso la posizione del mouse ... il mirino o qualcosa del genere).
Ho bisogno di un suggerimento(TEORICO) ... il bersaglio tipo quello del tiro con l'arco è circolare ... tanti cerchi uno dentro l'altro ... mappare un immagine così mi disorienta ... voi cosa fareste? sono in palla non riesco ad avere idee.

GRAZIE!

ps. chi mi aiuta, se lo desidera, sarà citato nei ringraziamenti del corso(video youtube)
se riesci a pensarlo puoi anche realizzarlo!
http://www.youtube.com/user/zirobyte75

Vinsent Profilo | Senior Member

Se i colori dei cerchi sono diversi puoi semplicemente ottenere il colore del pixel "cliccato".
Se invece si alternano penso che puoi lavorare con le coordinate del centro dell' immagine verificando al click di quanto si discostano le coordinate X/Y dal centro...non so se ho spiegato bene l' idea...
Comunque, io stò provando a creare il gioco delle freccette con un mix tra "colore cliccato" e OvalShape (PowerPacks) che hanno l' evento click.
Ho anche una bozza di codice per simulare il tremolio della mano e rendere più difficile la mira...se ti può interessare chiedi pure.
ciao

zirobyte75 Profilo | Newbie

in effetti potrei modificare di poco il colore dei cerchi, oppure potrei creare una mappatura a celle ...
si potrebbe interessarmi il codice ...
ciao e ovviamente grazie

ps. poi ti invierò il link del tutorial così vedrai il tutto(se ti fa piacere)
se riesci a pensarlo puoi anche realizzarlo!
VIDEO CORSI: http://www.youtube.com/user/zirobyte75
SITO E SOURCE-CODE: http://www.zirobyte.altervista.org/

Vinsent Profilo | Senior Member

Mi ero dimenticato di citare:
http://msdn.microsoft.com/it-it/library/system.drawing.region.aspx
di cui avevo letto ma non ho nè usato nè approfondito...di più non so dirti...
Per il "tremolio" ripeto che è una semplice bozza...comunque, si basa su un generatore Random e un timer che al 'Tick' genera due Integer (negativi o positivi) e li aggiunge alla posizione del puntatore del mouse impostandone quest' ultima.
Nel codice il "tremolio" viene attivato/disattivato dagli eventi MouseMove/MouseLeave su di un Panel mentre l' intervallo del timer e del generatore dei Random (-3, 3) impostano la "potenza" del tremolio.
Dim rnd As New Random Dim x As Integer Dim y As Integer Private Sub Panel1_MouseMove() Handles Panel1.MouseMove Timer1.Start() End Sub Private Sub Panel1_MouseLeave() Handles Panel1.MouseLeave Timer1.Stop() End Sub Private Sub Timer1_Tick() Handles Timer1.Tick x = rnd.Next(-3, 3) y = rnd.Next(-3, 3) Dim pt As New Point(Cursor.Position.X + x, Cursor.Position.Y + y) Cursor.Position = pt End Sub

zirobyte75 Profilo | Newbie

6 stato bravissimo ... tanta semplicità ... molta efficacia!
grazie
se riesci a pensarlo puoi anche realizzarlo!
VIDEO CORSI: http://www.youtube.com/user/zirobyte75
SITO E SOURCE-CODE: http://www.zirobyte.altervista.org/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5