HSP | ケルパニのロゴを回転させる

HSP | ケルパニのロゴを回転させる

この間GIFアニメーションでうpしましたが、それのソースです。(わかりやすいよう画面のサイズ広げました。)
サイズ変えたので、速度も少し変えてあります。

s=72*1-2,72*2-2,72*3-2,72*4-2,72*5-2 // 画像回転角度
p=111,37 // 画像のどこを中心にして回転させるか
omake=0.0 // 楕円回転角度
z=481 // 中心から楕円の中心までの距離
timer=0 // タイマー
flag=0 // どう処理するかのフラグ
buffer 1,157,123
color : boxf
color ,255 : circle 0,0,156,122
color : circle 0+8,0+8,156-8,122-8
screen 0,640,480
gmode 2,p(0)*2,(123-p(1))*2
*main
redraw 0
color ,,255 : boxf
repeat 5
t=M_PI*2*s(cnt)/360 // 単位ラジアンに
r=atan(24,33) // 楕円自体の角度
pos 320-cos(t+r)*z,240+sin(t+r)*z : grotate 1,0,0,-t+omake,157,123
loop
if flag=1 {
omake+=M_PI*2/20
z-11
}
if timer=0 : z=481
if 0<=timer & timer<20 : flag=0
if 20<=timer & timer<60 : flag=1
if 60<=timer : flag=2
timer+ : timer\100
redraw
await 40
goto *main

本当はもうちょっと工夫したいです。
実質的には5つの楕円がまっすぐ真ん中に集まっているだけなので。(回転はしてますけど)
なんの役に立つのかはわかりません。
今回はこれで。
↓クリックしてくれるとうれしい系だったりする。


「HSP | ケルパニのロゴを回転させる」への9件のフィードバック

  1. そ、そうですかね…。
    このスクリプトは、見た目よりややこしいので、ミスらないように作ったらこんなものになりました。

  2. 例えば、式や命令とコメントを同じ行に書いているとか、if文の後に直接命令を書くとか・・・

  3. ああ、そっちの意味でしたか…。すいません。
    確かに結構まとめて書きますね。私は。
    pos ~ mes ~だったら、そのposは後ろのmesのためだけに書いているので、改行せずに書きます。(「 : 」を使う)
    コメントも、その一行のことに関する物であればすぐ後ろに書きます。
    ただし、そこから何行もかけてひとつの処理をしているとかであれば、そのすぐ前の行にコメント入れます。

  4. ifは、一行で短い処理であれば改行しません。
    一行だったとしても長い処理だったり、複数行で書いたほうが見やすい処理だったりしたら改行します。

  5. はい。
    if { の後やラベルの次の所もまったくインデント入れません…。
    あいかわらずHSPスクリプトエディタで作成してるんですが、ラベルの後に自動でインデントを入れる機能も切ってます。

  6. HSPだとインデントする方が面倒なときもあります。
    C++とかJavaみたいにしっかりなってくれないのが理由の一つですが^^;
    私はHSPでは密に書いて、C++とかでは見やすく書いています。

  7. 他の言語ではちゃんとしてるんですか…。知りませんでした…。
    そろそろ私もHSP以外のプログラミングもしたほうがいいのかな…。

コメントは受け付けていません。