Jag har 2 bilder och jag ska få dom att krocka. Det krävs mindre jämförelser att kontrollera om de inte krockar. Två för varje dimension: Hej lite optimeringKrocka
Men om jag skriver så här så funkar det inte.
if ImgSten.left = ImgSpelare.left and ImgSten.top = ImgSpelare.top then
Liv = Liv - 30
end if
De två bilderna kan bara krocka om hörnerna nuddar varandra,
men jag vill att hela bilden ska räknas, hur gör jag?Sv: Krocka
<code>
If ImgSten.Left > ImgSpelare.Left + ImgSpelare.Width Then
' ImgSpelare är till vänster om ImgSten
ElseIf ImgSten.Left + ImgSten.Width < ImgSpelare.Left Then
' ImgSpelare är till höger om ImgSten
If ImgSten.Top > ImgSpelare.Top + ImgSpelare.Height Then
' ImgSpelare är ovanför ImgSten
ElseIf ImgSten.Top + ImgSten.Height < Top.Left Then
' ImgSpelare är nedanför ImgSten
Else
' Kollision
Liv = Liv - 30
End If
</code>Sv: Krocka
I Formens General , ModulNivå
Dim stWidth As Long,spWidth As Long
Dim stHeight As Long,spHeight As Long
spWidth = ImgSpelare.Width
stWidth = ImgSten.Width
spHeight = ImgSpelare.Height
stHeight = ImgSten.Height
'************************************
If ImgSten.Left > ImgSpelare.Left + spWidth Then
' ImgSpelare är till vänster om ImgSten
ElseIf ImgSten.Left + stWidth< ImgSpelare.Left Then
' ImgSpelare är till höger om ImgSten
If ImgSten.Top > ImgSpelare.Top + spHeight Then
' ImgSpelare är ovanför ImgSten
ElseIf ImgSten.Top + stHeight < Top.Left Then
' ImgSpelare är nedanför ImgSten
Else
' Kollision
Liv = Liv - 30
End If
'/Sven