スプライト(質問掲示板

投稿: 002 1  mini ugonight 投稿:2011/09/11 10:06:11(最新:2011/09/20 22:08:20)
画像のスプライトで画像をアニメーションしながら回転させたり拡大させたり動きまわったりという動きを素早く気持ち悪くやりたいのですが、使い方がよくわからないので、なるべく奇妙な使い方を教えてくださいort

コメントする

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

コメント一覧

002 1  mini ugonight(投稿日:2011/09/20 22:08, 履歴)
…なるほど……
見分けをつけて使い分けるというわけですか…
Cdv30200 aoi icon mini aoihikawa(投稿日:2011/09/20 02:36, 履歴)
上位互換、というわけではありません。

・showImagePosition関数

 画像ファイル番号を指定して、表示位置を変更します。
 同時に画像IDを生成します。
 この画像IDは
 hideImagePosition関数による表示OFF
 などに使用できます。


・setSpritePosition関数

 予め準備しておいた
 画像スプライトIDを指定して、表示位置を変更します。
 準備の手間はかかりますが
 一度生成した画像スプライトIDは
 setSpriteRotation関数による回転、
 setSpriteScale関数による拡大
 などにも利用できます。


回転や拡大を見越して
画像スプライトIDを生成する方法で準備したのに、

表示位置の設定で、showImagePosition関数を使用すると
折角、準備した画像スプライトIDを利用しないで、
新たに別の画像IDを生成してしまいます。

この生成された別の画像IDは、
回転や拡大に利用できないので、もったいない
というわけです。
   mini ___(投稿日:2011/09/20 01:38, 履歴)
画像操作とスプライト操作はまたちょっと違うんですよねー。
似たようなものですけど。

ん、似たことが出来る別のもの?
スプライトさんの方が上位互換?

まあ個人的にはそんな感じでした。
002 1  mini ugonight(投稿日:2011/09/19 23:44, 履歴)
え…でもうまくいっちゃいましたけど…
今度から考えてみます…。
Cdv30200 aoi icon mini aoihikawa(投稿日:2011/09/19 22:16, 履歴)
rurun9さま>

確かに(w
良くお気づきになりましたね。流石です。

showImagePosition 関数ではなく、
setSpritePosition 関数を使用した方が
良いですね。
Nyan mini rurun9(投稿日:2011/09/19 22:12, 履歴)
絵を移動させるのにshowImagePosition()を使うのはお勧めできません
何のためのスプライトだったのか…
002 1  mini ugonight(投稿日:2011/09/19 13:43, 履歴)
ありがとうございます!

ちょっと勘違いしすぎでしたね…よく復習してみます…
遂にこの長いスプライト騒動が解決しました!
一週間ありがとうございます!
Cdv30200 aoi icon mini aoihikawa(投稿日:2011/09/19 13:02, 履歴)
名前はご自由にどうぞ。


while文は条件式が成り立っている間実行するスクリプト文です。

今回の場合、まずはsatsuki1様のご指摘の通り、
条件文ではなく、変数の代入になっている箇所が誤りです。

また、「byが192の時に実行する」という条件になっているため、
byの初期値が0の時点で、このwhile文は実行されません。

「byが193より少ない間」に条件を変更する必要があります。
by = 0
while by < 193 #0~192の間実行する
  
end
002 1  mini ugonight(投稿日:2011/09/19 12:56, 履歴)
ありがとうございます!

一応えらリは治ったんですが…
画像が表示されない&スプライトが消えない!!!!!!
おい!ちゃんとdeleteAllSprite()って書いてあるじゃん!!!
音はならしといて画像は無視するのか!!!!!

…原因は何なのでしょうか…?
      mini きゅうり(投稿日:2011/09/19 12:36, 履歴)
while by = 192

から
while by == 192

にしてみよう。
条件文を書くところで変数に数値を入れようとしているからエラーが出るのでは?
002 1  mini ugonight(投稿日:2011/09/19 12:33, 履歴)
おかげさまで、ゾンビはできました!
それで、ブレイクイーターなんですが…☟


deleteAllSprite()
waitTime(2000)
playSound(86739)
bx=256
by=0
while by = 192
hideImageAllWithoutBG()
showImagePosition(bx, by, 86731)
waitTime(10)
by = by+1
end 


上から真ん中に落ちてく感じにしたいんですが…
while by = 192

のとこでえらってしまいます。どこがダメなんでしょうか…1?
002 1  mini ugonight(投稿日:2011/09/19 10:57, 履歴)
ありがとうございます!

少し勘違いしてましたねー
あとは何回くしゅったら回転や移動をするか、という風な感じにすればいけますよね!

あ、あと、いろいろ教えてもらったので簸川さんを「スクリプト参考」としてスタッフロールにのせてもいいですか?
Cdv30200 aoi icon mini aoihikawa(投稿日:2011/09/19 02:36, 履歴)
変数xx、yyは
画像を準備するsetSpriteRect関数内の
切り取った画像をセットする座標値ですので
この値を変更するのは誤りです。


画像自体の表示座標を指定するのは
setSpritePosition関数。

今回の場合、画面内に表示したときの
setSpritePositionの座標値を変更するため、
naka_x、naka_yを変更するのが正しいです。
002 1  mini ugonight(投稿日:2011/09/19 01:12, 履歴)
あ~あとあと!
ゾンビを真ん中あたりにしようと思ってxxとyyを100にしたんですが
左上にもう一体あらわれてしまうんですがどうすればいいでしょうか…?
002 1  mini ugonight(投稿日:2011/09/18 00:02, 履歴)
……。
#画像スプライト 
deleteAllSprite() 
#最初に使う前にキャンバスをキレイにしておく 
drawCanvas() 
setCanvasVisible(true) 

#準備 
x =0
y =0
w =150
h =150
xx=0
yy=0
ww=150
hh=150 


img_id_01 = createSprite(84357)
 setSpriteRect(img_id_01, x,y,w,h, xx,yy,ww,hh)
img_id_02 = createSprite(84364)
 setSpriteRect(img_id_02, x,y,w,h, xx,yy,ww,hh)
img_id_03 = createSprite(84371) 
setSpriteRect(img_id_03, x,y,w,h, xx,yy,ww,hh) 
img_id_04 = createSprite(84378) 
setSpriteRect(img_id_04, x,y,w,h, xx,yy,ww,hh) 
img_id_05 = createSprite(84385) 
setSpriteRect(img_id_05, x,y,w,h, xx,yy,ww,hh) 

#表示する座標の設定
soto_x = -200
soto_y = -200
naka_x = 0
naka_y = 0

#まずは、すべての画像を画面外に表示
setSpritePosition(img_id_01, soto_x, soto_y)
setSpritePosition(img_id_02, soto_x, soto_y)
setSpritePosition(img_id_03, soto_x, soto_y)
setSpritePosition(img_id_04, soto_x, soto_y)
setSpritePosition(img_id_05, soto_x, soto_y)

b = 0
while b < 1000
#アニメーションさせる
  a = 0 
while a < 5
   view_id = "" #アニメーションで表示する画像のID
   hide_id = "" #アニメーションで隠す画像のID    
#それぞれのIDをセットする  
  case a 
    when 0
         view_id = img_id_01
         hide_id = img_id_05
    when 1
         view_id = img_id_02
         hide_id = img_id_01
    when 2
         view_id = img_id_03
         hide_id = img_id_02
    when 3
         view_id = img_id_04
         hide_id = img_id_03
    when 4
         view_id = img_id_05
         hide_id = img_id_04
  end

     #セットされたIDをもとに、座標を決定する
  setSpritePosition(view_id, naka_x, naka_y)
  setSpritePosition(hide_id, soto_x, soto_y)
    drawCanvas()
     a = a + 1
   waitTime(100)
end
b = b + 1
end

というように、1000回はくしゅってくれるようにしたんですけど…
移動とか回転とかはどんなタイミングでやったらいいですかね…
while文の中に書かなきゃいけなくてでもアニメーションさせながら移動しているわけでしかも5枚のスプライトが一度に…

ちょっと教えてくださいort
002 1  mini ugonight(投稿日:2011/09/17 13:01, 履歴)
あぁぁぁぁぁx!できたぁぁぁ~

原因はフィードアウトしたのにフィードインしてなかったから!

よし、次はこの顔を動かすか!
また何かあったらよろしくお願いしますort
002 1  mini ugonight(投稿日:2011/09/17 01:47, 履歴)
確かに投げすぎましたort
親に隠れてやってるもんであせってしまって…

吟味していただきありがとうございます。


う~ん、確かにwhileを使った後にこうなりましたね…
ためしにアニメーションのほうのiをaにしてみました。
そしたら予期せぬ状態が…なぜが84277が流れてしまい、画像は表示されず…

キーボードを復習してみたらanswer = trueが抜けてたので入れてみても何の反応もなし…

引き続きよく見てみます…!
Cdv30200 aoi icon mini aoihikawa(投稿日:2011/09/17 01:13, 履歴)
こうのように、長くなってきたスクリプトの場合、
一旦全てをコメントアウトし、
少しずつコメントを外していくことで原因を見つける
という方法もあります。

(正直、丸投げされても困ります(w;


今回の場合、パスワード入力確認後、
変数「i」をカウンターにしたループを実行している中で
変数「i」をカウンターにしたループが入っているため、
変数「i」の値がおかしくなり
スクリプトが停止している状態だと思います。

どちらかの変数名を変更してください。
002 1  mini ugonight(投稿日:2011/09/17 00:26, 履歴)
わざわざ試してくれたんですねぇ~ありがとうございます!
うぅ…せっかく感動的なゾンビが出てくると思ったのに…

一応イベントのコードです
speak("椅子の下に何やら装置が!!")
speak("パスワードを入力してください")

deleteAllSprite()
deleteTextAll()
drawCanvas()
hideImage()
speak("キーボードで入力してください。")
pasu = createArray()
pasu[0] = "251" #パスワード1
pass = 1 #パスワードの数
keta = 3 #パスワードの桁数
su = 0 #何文字目かを表す変数
#ここから下はキーボードのキーの設定
k = createArray()
k[0] = "0";k[1] = "1";k[2] = "2";k[3] = "3";k[4] = "4"k[5] = "5";k[6] = "6";k[7] = "7";k[8] = "8";k[9] = "9"k[10] = "Q";k[11] = "W";k[12] = "E";k[13] = "R"k[14] = "T";k[15] = "Y";k[16] = "U";k[17] = "I";k[18] = "O";k[19] = "P";k[20] = "A";k[21] = "S";k[22] = "D";k[23] = "F";k[24] = "G";k[25] = "H";k[26] = "J";k[27] = "K";k[28] = "L";k[29] = "Z";k[30] = "X";k[31] = "C";k[32] = "V";k[33] = "B";k[34] = "N";k[35] = "M"
#キーの設定ここまで
#↓入力箇所の表示
t = createText(250, 250, 400, 200)
ki = createArray()
i = 0
while i < keta
  ki[i] = "-"
  i = i + 1
end
setText(t, ki,"\nキーボードで入力してください。")

startInput()
loop = true#ループの開始
while loop
  if hasInput()
    takeInput()
    i = 0
    while i < 36 #すべてのキーを調べる
      if isKeyDown(k[i])
        ki[su] = k[i]
        su = su + 1
        setText(t, ki,"\nキーボードで入力してください。")        if su == keta
          loop = false
        end
      end
      i = i + 1
    end
  end
  waitTime(10)
end
endInput()
deleteTextAll() #表示を消す
#↓入力をひとつの変数に入れる
p = ""
i  = 0
while i < keta
        p = p + ki[i]
        i = i + 1
end
        i = 0
answer = false
while i <  pass
        if p == pasu[i]
                if i == 0
                   #パスワード1に合っていたときの処理
playSound(84277)
speak("???「正解でぇ~す」")
speak("???「では、準備をしますので今しばらくお待ちください」")
showLeftImage(47864)
speak("好太郎「ん…? 準備…? どういうことだ…」")
fadeOutMusicFadeIn(1000, 82229, 1000)
waitTime(2000)
hideLeftImage()
showLeftImage(47879)
speak("好太郎「ま…また…!?」")
hideLeftImage()
waitTime(1000)
showImage(9404)
playSound(82230)
waitTime(100)
hideImage()
waitTime(3000)
showImage(9404)
playSound(82230)
waitTime(100)
hideImage()
waitTime(2000)
showImage(9404)
playSound(82230)
waitTime(100)
hideImage()
playSound(84351)
waitTime(2000)
showImage(9404)
playSound(82230)
waitTime(100)
hideImage()
waitTime(2000)
showImage(9404)
playSound(82230)
waitTime(100)
hideImage()
waitTime(1000)
showImage(9404)
playSound(82230)
waitTime(100)
hideImage()
waitTime(1000)
showImage(9404)
playSound(82230)
waitTime(100)
hideImage()
waitTime(2000)
playSound(82231)
fadeOut(0, 0, 0)
fadeOutMusicStop(2000)
waitTime(3000)
showImage(9404)
playSound(84356)

#画像スプライト 
deleteAllSprite() 
#最初に使う前にキャンバスをキレイにしておく 
drawCanvas() 
setCanvasVisible(true) 

#準備 
x =0
y =0
w =150
h =150
xx=0
yy=0
ww=150
hh=150 


img_id_01 = createSprite(84357)
 setSpriteRect(img_id_01, x,y,w,h, xx,yy,ww,hh)
img_id_02 = createSprite(84364)
 setSpriteRect(img_id_02, x,y,w,h, xx,yy,ww,hh)
img_id_03 = createSprite(84371) 
setSpriteRect(img_id_03, x,y,w,h, xx,yy,ww,hh) 
img_id_04 = createSprite(84378) 
setSpriteRect(img_id_04, x,y,w,h, xx,yy,ww,hh) 
img_id_05 = createSprite(84385) 
setSpriteRect(img_id_05, x,y,w,h, xx,yy,ww,hh) 

#表示する座標の設定
soto_x = -200
soto_y = -200
naka_x = 0
naka_y = 0

#まずは、すべての画像を画面外に表示
setSpritePosition(img_id_01, soto_x, soto_y)
setSpritePosition(img_id_02, soto_x, soto_y)
setSpritePosition(img_id_03, soto_x, soto_y)
setSpritePosition(img_id_04, soto_x, soto_y)
setSpritePosition(img_id_05, soto_x, soto_y)

#アニメーションさせる
  i = 0 
while i < 5
   view_id = "" #アニメーションで表示する画像のID
   hide_id = "" #アニメーションで隠す画像のID    
#それぞれのIDをセットする  
  case i 
    when 0
         view_id = img_id_01
         hide_id = img_id_05
    when 1
         view_id = img_id_02
         hide_id = img_id_01
    when 2
         view_id = img_id_03
         hide_id = img_id_02
    when 3
         view_id = img_id_04
         hide_id = img_id_03
    when 4
         view_id = img_id_05
         hide_id = img_id_04
  end

     #セットされたIDをもとに、座標を決定する
  setSpritePosition(view_id, naka_x, naka_y)
  setSpritePosition(hide_id, soto_x, soto_y)
    drawCanvas()
     i = i + 1
   waitTime(100)
   end


end
end
end

if !answer
speak("パスワードが違います。\n入力:",p)
end


画像9404っていうのは黒い画面でこれじゃないかとにらんだのですが…でも前やった時には普通に表示されてました…
Cdv30200 aoi icon mini aoihikawa(投稿日:2011/09/15 18:10, 履歴)
私のところでは前記のスクリプトで
正常に動作しております。

どこか、このスクリプト外のところで
何らかの問題が、発生していると思われます。
002 1  mini ugonight(投稿日:2011/09/15 18:01, 履歴)
だんだんノベルの世界に…

なるほどぉ~イメージ的には窓からゾンビが顔を順番ずつ出し入れしているわけですね!
なぜかほほえましい…ww


…あれ?えらってないのにまだ何も表示されないんですけど……
setCanvasVisibleもdrawCanvasもしているのに…
Cdv30200 aoi icon mini aoihikawa(投稿日:2011/09/14 18:34, 履歴)
惜しいです(w


1枚ずつ別の画像の場合は、
「createSprite」~「setSpriteRect」までが準備のセットです。
なぜなら、ここまではアニメーション中も
変化が起きない固定の値だからです。


while文の中に必要なのは、
画面上に描画する位置を設定する
「setSpritePosition」

1枚ずつ、表示する位置を
画面内、画面外と変更してあげることで
アニメーションを表示します。
#画像スプライト 
deleteAllSprite() #最初に使う前にキャンバスをキレイにしておく 
drawCanvas() 
setCanvasVisible(true) 
 
#準備 
x =0
y =0
w =150
h =150
xx=0
yy=0
ww=150
hh=150
 
img_id_01 = createSprite(84357) 
setSpriteRect(img_id_01, x,y,w,h, xx,yy,ww,hh)

img_id_02 = createSprite(84364) 
setSpriteRect(img_id_02, x,y,w,h, xx,yy,ww,hh)

img_id_03 = createSprite(84371) 
setSpriteRect(img_id_03, x,y,w,h, xx,yy,ww,hh) 

img_id_04 = createSprite(84378) 
setSpriteRect(img_id_04, x,y,w,h, xx,yy,ww,hh) 

img_id_05 = createSprite(84385) 
setSpriteRect(img_id_05, x,y,w,h, xx,yy,ww,hh) 

#表示する座標の設定
soto_x = -200
soto_y = -200

naka_x = 0
naka_y = 0

#まずは、すべての画像を画面外に表示
setSpritePosition(img_id_01, soto_x, soto_y)
setSpritePosition(img_id_02, soto_x, soto_y)
setSpritePosition(img_id_03, soto_x, soto_y)
setSpritePosition(img_id_04, soto_x, soto_y)
setSpritePosition(img_id_05, soto_x, soto_y)


#アニメーションさせる 
 
i = 0 
while i < 5 
  view_id = "" #アニメーションで表示する画像のID
  hide_id = "" #アニメーションで隠す画像のID
  
  #それぞれのIDをセットする
  case i 
    when 0   
      view_id = img_id_01
      hide_id = img_id_05
    when 1   
      view_id = img_id_02
      hide_id = img_id_01
    when 2   
      view_id = img_id_03
      hide_id = img_id_02
    when 3   
      view_id = img_id_04
      hide_id = img_id_03
    when 4   
      view_id = img_id_05
      hide_id = img_id_04
  end 
  
  #セットされたIDをもとに、座標を決定する
  setSpritePosition(view_id, naka_x, naka_y)
  setSpritePosition(hide_id, soto_x, soto_y)
  
  drawCanvas() 
  
  i = i + 1 
  waitTime(100) 
  
end
002 1  mini ugonight(投稿日:2011/09/14 17:59, 履歴)
おっ!だんだんわかってきたような…感動…ありがとうございます。

じゃあ、whle外でcreateSpriteしてあとはその画像をwhile内で使えば…

#画像スプライト
deleteAllSprite() #最初に使う前にキャンバスをキレイにしておく
drawCanvas()
setCanvasVisible(true)

#準備
x =0 
y =0 
w =150 
h =150 
xx=0 
yy=0 
ww=150 
hh=150 

img_id_01 = createSprite(84357)
img_id_02 = createSprite(84364)
img_id_03 = createSprite(84371)
img_id_04 = createSprite(84378)
img_id_05 = createSprite(84385)

#アニメーションさせる

i = 0
while i < 4
 case i
  when 0  
    setSpriteRect(img_id_01, x,y,w,h, xx,yy,ww,hh)
  when 1  
   setSpriteRect(img_id_02, x,y,w,h, xx,yy,ww,hh)
  when 2  
   setSpriteRect(img_id_03, x,y,w,h, xx,yy,ww,hh)
  when 3  
   setSpriteRect(img_id_04, x,y,w,h, xx,yy,ww,hh)
  when 4  
   setSpriteRect(img_id_05, x,y,w,h, xx,yy,ww,hh)
 end
     drawCanvas()
     i = i + 1
 waitTime(100)

end



…あれ…?何も表示されん…!?
どうしてでしょう…
Cdv30200 aoi icon mini aoihikawa(投稿日:2011/09/13 22:42, 履歴)
そのとおり、別々の画像の場合は、
1枚の画像につき、1枚のスプライト、
というように管理します。

なお、取得するIDは
変数名を少しずつ変更しても良いですし、
ひとつの変数を配列にして設定しておくと
後々、操作しやすくなります。
002 1  mini ugonight(投稿日:2011/09/13 22:24, 履歴)
…そうですけど……
じゃあそれぞれの画像を別のスプライトとしてみるということですか?
Cdv30200 aoi icon mini aoihikawa(投稿日:2011/09/13 01:25, 履歴)
画像は、それぞれ別のファイルなのですよね?

もしそうでしたら、
既に、切り取りの座標指定が間違っています。

2コマ目移行の画像の切り取り開始位置X座標が
画像サイズの150を超えていますよ。


IDの取得はcreateSprite関数の実行時に生成されますので、
setSpriteRect関数の中で完結させるのではなく
別途、変数に代入しておいてから、利用する形になります。

#変更前
setSpriteRect(createSprite(84357), x,y,w,h, xx,yy,ww,hh)

#変更後
img_id_01 = createSprite(84357)
setSpriteRect(img_id_01, x,y,w,h, xx,yy,ww,hh)
002 1  mini ugonight(投稿日:2011/09/13 00:12, 履歴)
…すみません、はっきり言ってキャラアニメ切り取りなんてめんどくさいだけだと思ってましたort

エラーは治りました、endの付け忘れです

反省してスプライトを作成するとこまでやりなおしたんですが…
#1コマ目
x =0 
y =0 
w =150 
h =150 
xx=0 
yy=0 
ww=150 
hh=150 
setSpriteRect(createSprite(84357), x,y,w,h, xx,yy,ww,hh)
#2コマ目
x =150 
y =0 
w =150 
h =150 
xx=0 
yy=0 
ww=150 
hh=150 
setSpriteRect(createSprite(84364), x,y,w,h, xx,yy,ww,hh)
#3コマ目
x =300 
y =0 
w =150 
h =150 
xx=0 
yy=0 
ww=150 
hh=150 
setSpriteRect(createSprite(84371), x,y,w,h, xx,yy,ww,hh)
#4コマ目
x =450 
y =0 
w =150 
h =150 
xx=0 
yy=0 
ww=150 
hh=150 
setSpriteRect(createSprite(84378), x,y,w,h, xx,yy,ww,hh)
#5コマ目
x =600 
y =0 
w =150 
h =150 
xx=0 
yy=0 
ww=150 
hh=150 
setSpriteRect(createSprite(84385), x,y,w,h, xx,yy,ww,hh)

と、とりあえずやっておきました…

えっと…表示させるにはどうしたらいいでしょうか…?
切り取る前の画像を作ったつもりですが、スプライトIDがないと切り抜けないし、だからと言って変数を使うとダブってしまうし…

どうしたらいいでしょうか…
Cdv30200 aoi icon mini aoihikawa(投稿日:2011/09/12 20:35, 履歴)
エラーの内容は、どういったメッセージだったでしょうか。

まずは、そのエラー文を元に
Error一覧で原因を調べてみましょう。


なお、可能性として、考えられる問題点は以下のとおりです。

1)変数の中身が設定されていないまま、変数が使用されている
 「x」「n」「m」

2)setCanvasVisible(true)で既に
 キャンバスを表示がするように指定しているにもかかわらず、
 2週目以降のwhileのループ内で、何度も表示するように指定している


あとは、rurun9さまのコメントにもあるように、
先に必要な画像を作成しておき、
ループ内で表示位置を画面外、画面内、と変更する方が
アニメーションがスムーズになると思います。
Nyan mini rurun9(投稿日:2011/09/12 19:58, 履歴)
>違う画像を次々に表示させたいので

キャラだろうが風景画だろうが、アニメの原理は同じですよ。
スプライト素の画像が、一枚の中に数コマ分が並んでいる場合はRect切り取り位置を変更するだけ。
画像の大きさの関係上、素画像が別々な場合は、別のスプライトで用意しておいて、それらを順に表示させる事でアニメにします。

いずれにせよ、スプライトを削除してまたcreateから作り直す、をループさせるのは効率が悪いかと。


回転(角度調整)は頑張ってw
002 1  mini ugonight(投稿日:2011/09/12 16:46, 履歴)
ありがとうございます!

これは、キャラクタアニメみたいな画像なときですか?
僕は違う画像を次々に表示させたいので

#準備
y =0 
w =150 
h =150 
xx=0 
yy=0 
ww=150 
hh=150

 i = 0
while i < 5
  #切り抜く座標を変更していく
case i
 when 0
    setVariable("e", 84357) 
 when 1
    setVariable("e", 84364)
 when 2
    setVariable("e", 84371) 
 when 3
    setVariable("e", 84378) 
 when 4
    setVariable("e", 84385) 
end
deleteAllSprite() #最初に使う前にキャンバスをキレイにしておく
drawCanvas()
setCanvasVisible(true) #【重要】キャンバスを見えるようにしている
setVariable("s", createSprite( getVariable("e") ) 
#スプライト作成&画像の指定
setSpriteRect(getVariable("s"), x,y,w,h, xx,yy,ww,hh) #載せる絵の指定
 setSpritePosition(getVariable("s"), n,m) #位置の指定
 setSpriteRotation(getVariable("s"), 0) #回転角度はラジアン。中心は(n-ww/2, m-hh/2)
 setSpriteScale(getVariable("s"), 1.0, 1.0) #マイナス倍にすると反転する 
setSpriteZOrder(getVariable("s"), 5) #どれだけ手前に表示するかの値。マイナスは不可
drawCanvas() #スプライトを載せたキャンバスを更新
speak("停止させておくためのspeak")
  i = i + 1
end


としたらえらってしまいましたort
文法ミスらしいのですが…


一応こんな感じにしたいっていうのを…

①顔をくちゅくちゅさせながらかっくんかっくん


②くちゅりながら接近


③顔が下に落ちてほっとしたつかの間…


④効果音とともにいきなり骸骨が上がってくる!!!小学生号泣!!!!