アニメ画像を拡張画像操作機能で表示したい(質問掲示板

投稿:        256 mini 池ちゃん(翡翠ヶ池) 投稿:2013/07/15 13:58:15(最新:2013/07/15 16:00:15)
アニメ画像(これ)を
拡張画像操作機能(スプライトでいいのかな?)で

表示したくて、スクリプトを書いていたのですが
、ミスってる&修正できないので質問しました

簡単に言うと

2DアクションRPGの攻撃ヒット時の、
アニメーションエフェクトを同じように、
イベントで表示したいが、力不足

開始スクリプト
#四捨五入
def ROUND(n)
    return floor(n + 0.5)
end

def anime(id,gx,gy,gk,gt,hx,hy,hk,ht,x,y,z,k,sc)

gx = gx * 32 ; gy = gy * 32 ; gk = gk * 32 ; gt = gt * 32 ;
hx = hx * 32 ; hy = hy * 32 ; hk = hk * 32 ; ht = ht * 32 ;

a = 32
    
    s = createSprite(id) #190760

setSpriteRect(s,gx,gy,gk,gt,hx,hy,hk,ht)

setSpritePosition(s, x, y)
setSpriteRotation(s, k)
setSpriteScale(s, sc, sc)
setSpriteZOrder(s, z)

end

def mk()
pos = -1
startInput()
loop = true
l = true
while loop

  while hasInput()
    takeInput()

    if isMouseDown() #マウスのボタンが押されている場合
      #マウスの位置を取得します。
      l = false
    end

    if isMouseUp() && !l#マウスのボタンが離された場合
      pos = getMousePosition()
      loop = false
    end

  end
  waitTime(30)

end
endInput()
return pos

end
setMenuItemVisible(getMenuSave(), false)
setMenuItemVisible(getMenuLoad(), false)


イベント
c = 0
a = 0
speak("下の部屋のどこかをクリックしてください")
b = mk()
if b[1] >= (4  * 32) && b[1] <= (10 * 32) && b[0] >= 32 && b[0] <= (15 * 32) #0x 1y
b[0] = b[0] - 16 ; b[1] = b[1] - 44 ;
   while a != 12

   while c != 24
   setCanvasVisible(true)
   anime(195864,c,a,3,3,0,3,3,3,b[0],b[1],1,0,1)
   drawCanvas()
   waitTime(200)
   c = c + 3
   setCanvasVisible(false)
   deleteAllSprite()
   drawCanvas()
end

a = a + 3
c = 0

end

else
speak("ちゃんとクリックしてくださいな。")
end


開始スクリプトは大丈夫(のはず)でイベントが間違っていると思っているのですが・・・。

コメントする

コメントするには、ログインする必要があります。

コメント一覧

Cdv30200 aoi icon mini aoihikawa(投稿日:2013/07/15 14:35, 履歴)
animeユーザ関数の引数のうち
貼り付けy座標が3になっているため
正常に表示されていません


補足として
setCanvasVisible関数や
createSprite関数を
ループ内で何度も繰り返すのは
無駄な処理となりますので

一度生成した画像の
矩形変更(setSpriteRect関数)のみ
ループ内で処理するように変更した方が
良いと思います
       256 mini 池ちゃん(翡翠ヶ池)(投稿日:2013/07/15 15:44, 履歴)
>animeユーザ関数の引数のうち
貼り付けy座標が3になっているため
正常に表示されていません

貼り付けy座標は0でいいのですかな?
でも0でやっても直らん。
間違ってるのかな・・・。

>補足として(略)
おぉ、了解しました。
Cdv30200 aoi icon mini aoihikawa(投稿日:2013/07/15 15:58, 履歴)
あとの直ってない原因は
こちらが関連していると思います
       256 mini 池ちゃん(翡翠ヶ池)(投稿日:2013/07/15 16:00, 履歴)
なるほど、縮小されてしまうのですねぇ・・・。

情報ありがとうございます、調整してみまする。