テクスチャーに速度ベクトルをつけて動かすやり方について
今日学校でC++とSiv3Dを使って画像処理について学んだのですが、テクスチャー(画像)に速度ベクトルをかけて動かして、x軸かy軸が下まで行ったら跳ね返る処理を教師のデバックで見かけたのですが、どうやるのかを知りたいです。
c++
1# include <Siv3D.hpp> 2void Main() 3{ 4//キャラクター 5 const Texture textureCharacter(U"example/character_1.png"); 6 constexpr double speed = 50; 7 Vec2 velocty(0,speed); 8while (System::Update()) 9 { 10//動きをつける 11 textureCharacter.draw(300,300).moveBy(velocity * Scene::DeltaTime()); 12 //跳ね返り 13 // 天井にぶつかったらはね返る 14 if (velocity.y < 0) 15 { 16 velocity.y *= -1; 17 } 18 19 // 左右の壁にぶつかったらはね返る 20 if (velocity.x < 0 || (Scene::Width() < velocity.x > 0)) 21 { 22 velocity.x *= -1; 23 } 24} 25}
です。c++初めてばっかりで、調べてわかる範囲内で書きこんだのですが、ここまでが限界です。
よろしくお願いいたします。
あと、Circleとかだったらこれでできるんですけど、どんな違いがあるんですか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/29 10:09
2020/05/29 10:55