私は、UITouchとSpritekitを使用して1本の直線を描画しようとしています。私の指のドラッグ動作中に線が表示され続ける場所。誰かが特定のチュートリアルを知っているか、それを実行する方法で私を走らせることができたら、私は感謝しますスウィフト&スプライトキット画面上で指をドラッグしながら直線を描く
答えて
SpriteKitは2Dゲームエンジンでこれまでに提示された最悪の2D図面です。
実際、最悪です。
SKShapeNodeとそのCGPathはひどいナンセンスです。 SpriteKitの "設計者" が、DirectXやOpenGLのような2D図面の中で最も基本的なものである を一度も見たことがないようです。アニメーターが線や形でしたいことがあるかもしれないもののうち、 の種類だけを考えてみましょう。 作成、突然変異、歪み、進捗、および線アニメーション。
SKSpriteNodesは、単純なボックスになります私の胸の少しオフ暴言が、それは描画スタイルソリューションを期待していないためにあなたの期待を再較正することに無駄を期待して、このことを考慮することを得た〜混乱
それらはX軸とY軸の両方で拡大縮小することができ、タッチの元の位置に対して現在のタッチの方向に向くように回転する「ダミー」SKNodeを親にすることができる。
SO ....最初のタッチの時点からスキニーボックスを描き、タッチが移動すると、作成するSKDummyNodeを親の親となるように回転させることで、その点にSKSpriteNodeをスケーリングできますあなたの "線"をクリックし、原点から現在のタッチ位置までその長さに沿ってスケールアウトします。
Viola、a LINE!
種類の
あなたは何をしたのかの例を追加できますか? –
私は何もしませんでした。ボックスを使って、行を作成する方法を提案しました。 @ DanielAl-Makhamreh – Confused
おそらくそれを実装する最良の方法ではありませんが、それは簡単です。ただ、私はこれに正直に新たなんだコピーしてGameScene.swift
import SpriteKit
import GameplayKit
class GameScene: SKScene {
private var line:SKShapeNode = SKShapeNode()
private var path:CGMutablePath = CGMutablePath()
private var initialPointSet:Bool = false
override func didMove(to view: SKView) {
line.strokeColor = UIColor.orange
line.lineWidth = 4
addChild(line)
}
func touchMoved(toPoint pos : CGPoint) {
if !initialPointSet {
path.move(to: pos)
initialPointSet = true
}
path.addLine(to: pos)
line.path = path
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
for t in touches { self.touchMoved(toPoint: t.location(in: self)) }
}
}
- 1. スプライトキット(スウィフト)ノード摩擦 - 画面ジャンプ
- 2. gpuから直接画面上に描画する
- 3. キャンバスに描かれた円をドラッグして画面上でドラッグする(アンドロイド)
- 4. IOS:指で線を描く
- 5. iphoneの画面でcontiousな線を描く方法
- 6. 直線描画のScroller
- 7. キャンバス上にテキストを描画し、画面
- 8. XCUIテスト画面上に指を置く
- 9. Google Map v2で直線を描く
- 10. 指がiPhone上を動くときに画像の上に線を描く方法
- 11. AIRアプリケーションウィンドウを画面上でドラッグする
- 12. j2meでカメラの画面に線を描くには?
- 13. iPhoneの画面に線で署名を描くには?
- 14. グラフ上に線を描く
- 15. マウスを使ってPython上のGridでtkinterキャンバス上に直線を描く
- 16. JPanelで線をドラッグして描画する方法は?
- 17. スウィフトの直線パス
- 18. gridview上の線描画
- 19. 直線を自由に描く
- 20. Android - 垂直に線を描く
- 21. 画面上で画像をタッチしてドラッグする
- 22. 画面にテキストを描く
- 23. 画面に線を引く?
- 24. Androidで同じ直径の異なる画面(デバイス)に円を描く方法
- 25. Graphics2Dクラスの直線のドラッグアンドドロップの描画
- 26. 画面サイズに応じてノードの位置を変えるスウィフト/スプライトキット
- 27. Cで線形上に円を描く#
- 28. QGraphicsSceneでビデオの上に線を描く
- 29. ユーザーが画面上で指を動かすと、キャンバス上に複数の矩形を描画する
- 30. ggplot2で直線を描くことができません
にこれを貼り付け、私は、これはあなたを与えることができるかどうかの問題が修正されていますが、その目的C @Whirlwind –
で書かれたコードの多くを参照してください見つかりました開始:http://stackoverflow.com/a/29359136 – Whirlwind