Siren to silent あとがき

投稿者:Pink2 mini kage1215 投稿日:2013/11/29 02:09

台本に付いて

十年ぐらい前 当時バリバリの演劇「少年」(←ここ大事)だった頃の作品です。
といっても、公開するための脚本ではなく
スタッフワークショップ(練習)用に書いた脚本

私は専門は照明だったので
(まあ木材と布を切る以外はほとんどなんでもしたけど)

特に、照明のプランニングの練習になるようなものを
つくろうというコンセプトだったはずと思います。

なので、

公開する前提ではなかったので落ちがベタベタです!

まあこれを久しぶりに読んで
10年ですっかり薄汚れてしまったなぁ
おい頭皮の話じゃないよ!!


なんて思ったり思わなかったり・・・。

小説ではなく、戯曲なので
どうしても、人間の感情を表す表現は省きがちなので
(行動や言い回しで察するようには書こうとしてますが)
あまり、戯曲を呼んだことがない人にはとっつきにくかったかな・・・
と反省はしております。 はい


セリフの表示について

ここからは、技術的なことをボチボチと

メッセージウインドウはオリジナルのを作成して
メッセージウインドウ1

setVariable("speakBG",createSprite(▲▲▲))#画像IDを入れる
setVariable("speakBG1",createSprite(▲▲▲))#画像IDを入れる
setSpriteZOrder(getVariable("speakBG"),5)
setSpriteZOrder(getVariable("speakBG1"),5)
setTextFontSize(18)
setTextFontColor(255, 255, 255)

setVariable("talkareaN", createText(30, 400, 800-12, 28))#名前欄ポジ・サイズ
setTextFontSize(24)
setVariable("talkarea0", createText(40, 430, 800-12, 28))#一行目ポジ・サイズ
setVariable("talkarea1", createText(40, 460, 800-12, 28))#ニ行目ポジ・サイズ
setVariable("talkarea2", createText(40, 490, 800-12, 28))#三行目ポジ・サイズ
setVariable("talkarea3", createText(40, 520, 800-12, 28))#四行目ポジ・サイズ
setVariable("talkareaC", createText(750, 570, 50, 28))#click待ちのポジ・サイズ
setVariable("waittimevalue", 450) #ウエイトの調整



def click_wait()#click待ち関数 #################
  startInput()
  loop = true
  while loop
    while hasInput()
      takeInput()
      if isMouseDown()
         loop = false
      end
    end
    waitTime(30)
  end
  endInput()
end ##############################


def Ospeak(name,talk)#name 0ト書き 1男 2女 talkは改行時は/で区切る

if name==0
y=400
text=""
elsif name==1
y=0
text="男"

elsif name==2
y=200
text="女"
end

talkA=splitString(talk, "/")


setSpriteRect(getVariable("speakBG"), 0,y,800 ,200 ,0 ,400 ,800 ,200)
setSpriteRect(getVariable("speakBG1"), 0,y,800 ,200 ,10 ,400 ,100 ,25)


setSpriteZOrder(getVariable("speakBG"),4)
if name>0
setSpriteZOrder(getVariable("speakBG1"),4)
end
drawCanvas()


	setText(getVariable("talkareaN"), text)

c=0
while c<getArrayLength(talkA)
if talkA[c]
 name="talkarea"+toString(c)
   waitTime(getVariable("waittimevalue"))
	setText(getVariable(name), talkA[c])
end
c=c+1
end
	setText(getVariable("talkareaC"), "▼") #クリック待ち用テキスト 画像ファイルにしてもいいかも









click_wait()
	setText(getVariable("talkareaN"), "")
	setText(getVariable("talkarea0"), "")
	setText(getVariable("talkarea1"), "")
	setText(getVariable("talkarea2"), "")
	setText(getVariable("talkarea3"), "")
	setText(getVariable("talkareaC"), "")


setSpriteZOrder(getVariable("speakBG"),0)
setSpriteZOrder(getVariable("speakBG1"),0)
drawCanvas()

end


Ospeak(0,"空を見ろ!あれは何だ!/鳥か!/飛行機か!/いや大迫カメンだ!!")


こんな関数使って表示させてます。
ところどころ
setVariable("waittimevalue", 450) #ウエイトの調整

の数値をいじって、表示のタイミングをいじってみてます。

女の子の表情について

フリーソフトサイト 
vector>
立ち絵素材 皐 ~さつき~
を利用しています。

顔パーツなどがレイヤーごとにわかれているので
分割したものを1枚の画像ファイルにしてスプライトを使って表示させています。
setVariable("body",createSprite(213671))#ポーズ
setVariable("cheek",createSprite(213671))#頬紅潮有無
setVariable("eyeB",createSprite(213745))#眉毛
setVariable("eye",createSprite(213745))#目
setVariable("mouse",createSprite(213745))#口


def Face(base,eyeB,eye,mouse,cheek)


# 	0	 1	2	3	4	5	6
#体	普通 腰当て	お願い				
#眉毛	怒り	 困り	素	普通			
#目	上弦 下弦	虚ろ細	虚ろ	細め	上目	通常
#口	閉じ	 呟き	叫ぶ	半笑い	笑い	通常	
#頬	無し	 紅潮					
x=375 #X Position

setSpriteZOrder(getVariable("body"),3)
setSpriteZOrder(getVariable("eyeB"),4)
setSpriteZOrder(getVariable("eye"),4)
setSpriteZOrder(getVariable("mouse"),4)

case cheek
when 0
setSpriteZOrder(getVariable("cheek"),0)
when 1
setSpriteZOrder(getVariable("cheek"),4)
end

setSpriteRect(getVariable("body"),base*375,0,375,600,x,0,375,600 )
setSpriteRect(getVariable("cheek"),3*375,0,375,600,x,0,375,600 )
setSpriteRect(getVariable("eyeB"),eyeB*375,0,375,600,x,0,375,600 )
setSpriteRect(getVariable("eye"),eye*375,600,375,600,x,0,375,600 )
setSpriteRect(getVariable("mouse"),mouse*375,1200,375,600,x,0,375,600 )
drawCanvas()
end

def FaceC()#女の子非表示
setSpriteZOrder(getVariable("body"),0)
setSpriteZOrder(getVariable("cheek"),0)
setSpriteZOrder(getVariable("eyeB"),0)
setSpriteZOrder(getVariable("eye"),0)
setSpriteZOrder(getVariable("mouse"),0)
drawCanvas()
end





Face(1,3,2,0,0)#体/眉/目/口/頬


と言った感じで表示しています。


あの後ろから発せられるおどろおどろしい光

あの形の赤い光を作っている・・・・わけではなくて
背景画像の
「光らせたい場所の透過率を下げて」
後ろフィルターに普段は黒 光らせたいときに赤いフィルター
を仕込んでいます。
「フィルターチップ」

setVariable("Ofilter",createSprite(188174))
setSpriteZOrder(getVariable("Ofilter1"),0)


c=0
while c<10 #赤い光フェードイン
setSpriteRect(getVariable("Ofilter1"),6 ,9-c ,1 ,1 ,0 ,0 ,800 ,600 )
drawCanvas()
waitTime(300)
c=c+1
end

c=9
while c>0 #赤い光フェードアウト
setSpriteRect(getVariable("Ofilter1"),6 ,9-c ,1 ,1 ,0 ,0 ,800 ,600 )
drawCanvas()
waitTime(300)
c=c-1
end
setSpriteRect(getVariable("Ofilter1"),6 ,9-c ,1 ,1 ,0 ,0 ,0 ,0 )#サイズ0で非表示




こんなかんじです。


技術的な説明は以上です。

コメントする

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

コメント一覧

コメントはありません。