![](/img/trans.png)
[英]How to draw a line at the corner of a square with CAShapeLayer in Swift
[英]How to get corner of a square
大家好,我在spriteKit中遇到物理方面的麻煩,所以我決定自己做一個,而且需要弄個正方形的角。 我試過了
_hero.position.x-_hero.size.width/2-_hero.size.height/2
我以為這給了我正方形的左下角,但是當我運行游戲時,它並沒有達到我的期望。 我正在執行2D“超級馬里奧星系”,這意味着我的玩家在小行星上盤旋運行,問題是,我需要將轉角位置放在if()
,以檢查例如右上角播放器的角大於一個正方形的左下角,在這種情況下,我將設置一個BOOL
來告訴程序播放器在該正方形下,因為didBeginContact
是越野車,所以我遇到了很多問題。 任何人的幫助都會很大。
PD:我留下了我的游戲示例,它仍然很原始,但是希望您喜歡這個概念,並且可以選擇接受任何反饋(好或壞)。
正方形將有一個原點和一個框架。 見下文。 它可能會更容易轉換 ,如果你正在努力尋找各個角落,從局部坐標系(方)於母公司的坐標系。
但是,我認為您的實際問題將與碰撞檢測有關。 在這種情況下, CGRect
對每個對象進行CGRect
,然后使用CGRectIntersectsRect(rect1,rect2)
查看它們是否相交
twodayslate提供了一些很好的信息,但是我想我要補充一點,直到最近我才知道有一些非常酷的CGRect API。 考慮一下這個矩形:
CGRect rect = CGRectMake(100, 100, 100, 200);
使用以下方法將返回一些方便的結果:
CGRectGetWidth(rect) --> 100
CGRectGetHeight(rect) --> 200
CGRectGetMaxX(rect) --> 200
CGRectGetMaxY(rect) --> 300
與此相比,大多數人使用:
rect.size.width
rect.size.height
rect.origin.x + rect.size.width
rect.origin.y + rect.size.height
rect.origin.x + rect.size.width
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.