私は、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. スウィフトで線を描く3.0
- 3. 水平線または垂直線を描くことは表面上に描画されません。 Vulkan
- 4. キャンバスに描かれた円をドラッグして画面上でドラッグする(アンドロイド)
- 5. gpuから直接画面上に描画する
- 6. IOS:指で線を描く
- 7. iphoneの画面でcontiousな線を描く方法
- 8. 直線描画のScroller
- 9. キャンバス上にテキストを描画し、画面
- 10. XCUIテスト画面上に指を置く
- 11. Google Map v2で直線を描く
- 12. 非正方形の画面上のOpenGL描画線
- 13. は、スウィフト3とコアグラフィックスで直線を描きます
- 14. AIRアプリケーションウィンドウを画面上でドラッグする
- 15. 指がiPhone上を動くときに画像の上に線を描く方法
- 16. iPhoneの画面に線で署名を描くには?
- 17. j2meでカメラの画面に線を描くには?
- 18. グラフ上に線を描く
- 19. マウスを使ってPython上のGridでtkinterキャンバス上に直線を描く
- 20. JPanelで線をドラッグして描画する方法は?
- 21. gridview上の線描画
- 22. 直線を自由に描く
- 23. Android - 垂直に線を描く
- 24. スウィフトの直線パス
- 25. WM_MOUSEMOVEに枠線をドラッグして描画しますか?
- 26. 画面上で画像をタッチしてドラッグする
- 27. 画面にテキストを描く
- 28. テーブルからcssで直線グラフを描く方法
- 29. 許可なしに画面の上に描画できるアプリケーション
- 30. Androidで同じ直径の異なる画面(デバイス)に円を描く方法
にこれを貼り付け、私は、これはあなたを与えることができるかどうかの問題が修正されていますが、その目的C @Whirlwind –
で書かれたコードの多くを参照してください見つかりました開始:http://stackoverflow.com/a/29359136 – Whirlwind