![](/img/trans.png)
[英]Java Matcher groups: Understanding The difference between “(?:X|Y)” and “(?:X)|(?:Y)”
[英]Relation between x and y axes and pixels in Java
我正在用Java開發游戲Breakout,但有一個小問題:
if(ballLocation.y >= 430){ //baseline
if((ballLocation.x >= batLocation.x) && (ballLocation.x <= (batLocation.x + width))){ //determining whether or not the ball is touching the bat by establishing a range of values
directionY = -2; //changing the direction of the ball so that it appears to be bouncing off when it hits the bat
}
}
如果我將球向左進一步擊打,則if語句為true,但是由於某種原因,如果球向右進一步擊打,即使我看到球正在擊中蝙蝠,它也是錯誤的。 因此,我認為唯一的問題可能是將width
變量添加到batLocation.x
,因為batLocation.x
以x
軸上的單位為單位,而width
是圖像的寬度(因為bat和ball是都是png文件,而不僅僅是游戲繪制的像素數(即10
)。
因此,我認為我的代碼無法正常工作的最可能原因是因為我做出了錯誤的假設,並假設如果將像素寬度添加到起始x
點,則當蝙蝠的長度為1時,我將獲得蝙蝠的長度。像素在x
軸上不等於1單位。
是這樣嗎? 1個像素在x軸或y軸上是否等於一個單位? 如果不是,那么如果蝙蝠的寬度是10像素,則x
的寬度是多少?
我已經獲得了最新版本的JDK 8。
除了繪制時,實際上並沒有內置的x和y軸,並且始終以像素為單位。 您用x和y制作了什么單位? 繪制時,是否將這些值用作屏幕位置? 如果是這樣,請嘗試RealSkeptic的建議。 否則,將由您定義單位。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.