回答編集履歴
1
Ani
test
CHANGED
@@ -140,3 +140,58 @@
|
|
140
140
|
y--;
|
141
141
|
}
|
142
142
|
```
|
143
|
+
|
144
|
+
---
|
145
|
+
|
146
|
+
もっと複雑な動きや直感的な記述をしたい場合は、ライブラリの使用も検討してください(使い方を調べる等別の難しさはありますが^^;
|
147
|
+
|
148
|
+
1. メニューの「スケッチ」ー「ライブラリをインポート...」ー「Manage Libraries…」を選択
|
149
|
+
2. Contribution Managerで「Ani | A lightweight library」を選択
|
150
|
+
3. Installボタンを押す
|
151
|
+
![Contribution Manager](https://ddjkaamml8q8x.cloudfront.net/questions/2025-01-02/ed95e538-cba8-4d8d-8a89-3eac5fce8c2a.png)
|
152
|
+
[Ani - An animation library for Processing](https://dev.benedikt-gross.de/libraries/Ani/)
|
153
|
+
|
154
|
+
```Processing
|
155
|
+
import de.looksgood.ani.*; // Aniライブラリを使う
|
156
|
+
|
157
|
+
int x, y;
|
158
|
+
AniSequence seq; // 一連のアニメーション
|
159
|
+
|
160
|
+
void setup() {
|
161
|
+
size(500, 500);
|
162
|
+
|
163
|
+
Ani.init(this); // Aniライブラリの初期化
|
164
|
+
Ani.setDefaultEasing(Ani.LINEAR); // 等速運動
|
165
|
+
Ani.setDefaultTimeMode(Ani.FRAMES); // 基準をフレーム単位に
|
166
|
+
|
167
|
+
seq = new AniSequence(this); // 一連のアニメーション作成
|
168
|
+
|
169
|
+
seq.beginSequence(); // 一連のアニメーション設定開始
|
170
|
+
seq.add(Ani.to(this, 488, "x", 488)); // 488フレームかけてxを488に近づける
|
171
|
+
seq.add(Ani.to(this, 460, "y", 460)); // ↑が終わったら次の動作
|
172
|
+
seq.add(Ani.to(this, 488, "x", 0));
|
173
|
+
seq.add(Ani.to(this, 460, "y", 0));
|
174
|
+
|
175
|
+
// 斜めに動かしたいようなときはこう書いてもok
|
176
|
+
//seq.add(Ani.to(this, 488, "x:488,y:0"));
|
177
|
+
//seq.add(Ani.to(this, 460, "x:488,y:460"));
|
178
|
+
//seq.add(Ani.to(this, 488, "x:0,y:460"));
|
179
|
+
//seq.add(Ani.to(this, 460, "x:0,y:0"));
|
180
|
+
seq.endSequence(); // 一連のアニメーション設定終了
|
181
|
+
|
182
|
+
seq.start(); // 一連のアニメーション動作開始
|
183
|
+
}
|
184
|
+
|
185
|
+
void draw() {
|
186
|
+
if (seq.isEnded()) // 一連のアニメーションが動作終了していたら...
|
187
|
+
seq.start(); // 再スタート
|
188
|
+
|
189
|
+
background(255);
|
190
|
+
translate(x, y);
|
191
|
+
rect(1, 1, 10, 8);
|
192
|
+
rect(3, 9, 5, 5);
|
193
|
+
rect(1, 14, 10, 15);
|
194
|
+
rect(1, 29, 3, 10);
|
195
|
+
rect(8, 29, 3, 10);
|
196
|
+
}
|
197
|
+
```
|