Siren to silent あとがき
投稿者:
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で非表示
こんなかんじです。
技術的な説明は以上です。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
コメントはありません。