2009年5月23日 星期六

WMP面版改造教學(5)


今次Mirage再用上上個教學的面版, 各位可不可以看出分別?
在下方的effect掣換成了video掣, 而歌曲資料則出現了作曲者資料.
如果按了video掣就會開啟video面版, 如下圖所示.




其實在之前的面版改造教學, 各位可以發現有些程式出現 jscript 字眼.
(custom slider的設定值內)
我們可以寫一個 js 檔, 將面版用到的 javascript寫在裡面,
再在 wms 檔內指定 WMP 使用它.
如果要顯示歌手資料和視訊畫面, 可以使用以下的 jscript




function UpdateMetadata()
{metadata.value = player.currentmedia.getiteminfo("author");}


updatemetadata() 是將metadata寫入歌手資料(之後用到)




function checkPlayerState()
{UpdateMetadata();
if(player.currentMedia.ImageSourceWidth>0)
{theme.openView('vpl');}
else
{vpl.close();}
}


checkplayerstate() 是在開始時自動啟動updatemetadata()及在視訊開啟時自動開啟 video 版面



將 jscript 存為 js檔 (此例為 teach.js)
之後在 wms檔的 view屬性內改動 scriptfile (之前漏空)



< view
scriptfile="teach.js"
titlebar="false"
title="testsamp5"
backgroundimage="testsamp3.bmp"
backgroundcolor="none">


再加入player屬性(設定 WMP 內容)




< player
OpenState_onchange="checkPlayerState();"
PlayState_onchange="checkPlayerState();"/>


並在buttongroup加入video掣




< buttonelement
mappingcolor="#A0A0A0" onclick="theme.openview('vpl');"
cursor="hand" uptooltip="Video Viewer" id="vid"/>


如果加入此text屬性就可以顯示歌手資料
將 id 設定為 metadata 就可以常時更新歌手資料.




< text
id="metadata"
justification="center"
foregroundcolor="#FF0000" fontFace="Dotum" fontstyle=""
width="60" top="326" left="215"
fontsize="10"
scrolling="true"
scrollingamount="1"
value="jscript:player.currentmedia.getiteminfo('author');"
tooltip="author"/>


由於我們要在新的面版播放視訊, 所以加一個 video 屬性, 將視訊檔開啟時轉為開啟 video 面版.




< VIDEO
ID = "video"
VISIBLE = "false"
TOP = "0"
LEFT = "0"
WIDTH = "0"
HEIGHT = "0"
ONVIDEOSTART = "theme.openView('vpl');"/>


以下為 video面版的 view 設定, 下圖為 teachvideo.bmp
fbt (音符)及 vw_exit (X)掣分別為 全畫面播放及關閉 video 面版 的掣




< view
id="vpl"
visible="true"
titlebar="false"
backgroundimage="teachvideo.bmp"
top="0" left="0" width="660" height="370">

< button
id="vw_exit"
left="650" top="2"
transparencycolor="#00FF00"
image="ext_n.gif"
hoverimage="ext_n.gif"
downimage="ext_n.gif"
uptooltip="Close Video Viewer"
cursor="hand"
onclick="view.close();"/>

< button
id="fbt"
top="14" left="650"
transparencycolor="#00FF00"
image="vw_fbt_n.gif"
hoverimage="vw_fbt_n.gif"
downimage="vw_fbt_n.gif"
cursor="hand"
onclick="vwin.fullScreen=true"
horizontalalignment="left"
uptooltip="FullScreen"/>

< subview
id="vwin_bk"
top="5"
left="5"
width="640"
height="360"
backgroundcolor="black"
backgroundtiled="true"
tabstop="false">

< video
id="vwin"
visible="true"
width="640"
height="360"
shrinkToFit="true"
stretchToFit="true"
cursor="hand"
windowless="false"
verticalalignment="stretch"
horizontalalignment="stretch"
maintainAspectRatio="true"/>

< /subview>
< /view>




teachvideo.bmp,vw_fbt_n.gif及 ext_n.gif


現在你的面版可以播放視訊, 功能更完整了.
但是每次都要返回主版面找檔案或者開新視窗開檔案挺麻煩啊!
所以下次 Mirage 將會教大家使用 playlist 及 openfile掣.

2009年5月14日 星期四

WMP面版改造教學(4)


Mirage今次為大家示範在自製WMP面版上加上視覺效果
如上圖所示, 在面版上有一個視覺效果(長條圖), 在旁邊再有一個面版顯示自選效果(流星雨)

在面版上的視覺效果是設計者設定的, 在改造教學(2)的程式上, 在view內加入:


< subview
id="BarsPanel"
zindex="2"
top="50"
left="50"
width="200"
height="250"
visible="true">

< effects
top="1"
left="1"
height="240"
width="205">

< bars
peakcolor="#232300"
levelcolor="#131300"
levelwidth="2"
displaymode="2"
transparent="true"
fadeMode="3"
fadeRate="120"/>

< /effects>
< /subview>


程式主要是在面版上加一層subview, 然後在上面放上effect, 上例為長條圖.
bars內的東西則為長條圖的屬性設定.

P.S. 如果要做到上面效果被大廈擋住的樣子,可以在view上再加一個subview,
再用zindex設定此subview在effect subview之上就可.

眾人:"我想放自己的視覺效果啊!!", Mirage:"所以要用到旁邊的面版."
如果要播放自設效果, 最好是另外開一個面版播放,
一來可以自由移動, 二來可以選用一些特別的效果, 而如果效果不能正常播放, 亦可自行關上.

同樣在改造教學(2)的程式上, 今次在view外, theme內加上:

< view
id="effect"
titlebar="false"
top="100"
left="50"
width="380"
height="280"
backgroundColor="none"
transparencycolor=""
backgroundimage="effect_back2.bmp">

< buttongroup
mappingimage="eff_map.gif">

< buttonelement
uptooltip = "Close Effect"
mappingcolor = "#0000FF"
onclick = "view.close();"/>
< /buttongroup>

< effects
tabstop="false"
id="myeffect"
zindex="7"
currentEffectType="wmpprop:mediacenter.effectType"
currentPreset="wmpprop:mediacenter.effectPreset"
currentEffectType_onchange="mediacenter.effectType=currentEffectType;"
currentPreset_onchange="mediacenter.effectPreset=currentPreset;"
onClick="next();"
top="5"
left="5"
visible="true"
width="360"
height="270"/>

< /view>


另外在buttongroup內加入一個按掣, 按下就可開啟effect面版.

< buttonelement
mappingcolor="#A0A0A0" onClick="Jscript:theme.openview('effect');"
cursor="hand" uptooltip="Effect Viewer" id="eff"/>



此程式主要是將自設效果顯示在新開的面版上, 按畫面就可轉效果.
面版上另有按掣用來關閉effect面版.下圖為efect面版的backgroundimage.(effect_back2.bmp)
自設效果的位置則在effect內設定.


加上以上要素, save後 doubleclick wms檔就可使用.

下回Mirage將會開始使用javascript, 並為面版加上影片播放功能.

2009年5月7日 星期四

「ピアノ協奏曲第1番蠍火」を弾いてみた




其實除了Vocaloid 的曲外, 音樂遊戲的曲亦有我的至愛,
而如果在遊戲機中心看見有人玩Beatmania iiDX或DJMAX Technika都會眼前一亮


當然能夠現場玩的高手手法純熟到我看不到手指活動...
但是能夠在家中再用鋼琴彈出來更加利害!!!


這個就是Beatmania iiDX中屬高手向的ピアノ協奏曲第1番蠍火的家中鋼琴演奏版.

觀感: 無言感動.

2009年5月4日 星期一

WMP面版改造教學(3)


今次Mirage會先給大家看一看結果.
歌曲開頭, 中音量

歌曲結尾, 高音量

這個面版有一個火車形的歌曲位置顯示以及摩天輪形的音量調節棒.
這兩個選項都只需要填寫簡單的程式就可以, 麻煩的則是圖片的設定.

程式方面, 在改造教學(2)內提及的wms檔內, 在view下再加上以下程式, ""內的仍是自訂要素





< CustomSlider
image="vslider.bmp"
positionimage="greymap.bmp"
toolTip="Volume"
top="100"
left="250"
max="100"
min="0"
cursor="hand"
value="wmpprop:player.settings.volume"
value_onchange="jscript:player.settings.volume=value;"/>

< SeekSlider
tooltip="seek"
top="270"
left="80"
width="170"
height="20"
thumbimage="thumb2.bmp"
transparencycolor="#ffd800"
cursor="hand"
tabstop="false"
bordersize="5"/>



seekslider是普通的WMP內設歌曲位置顯示部件
音量調節則用了customslider以做出摩天輪形的調節棒
如果想用普通的音量調節棒, 可以使用和seekslider相同的程式, 開頭改為volumeslider.

至於圖像方面大家請自備以下圖片



這是seekslider的按掣,
由於透明色設定為#ffd800(黃色), 所以在面版上看不見背景.
seekslider的背景則需要畫在面版上.


P.S. 因為今次的按掣有點長,
在面版上其實加上了圖畫掩飾seekslider的按掣在開始及結束會局部消失的現象



這個是音量調節的灰階圖(bmp格式). 灰階圖依分段多少設定不同灰色調
以此圖為例, 共有八個分段, 所以RGB數字由#000000每次增加:
255/7=36.5
至#ffffff



此圖則是每個灰階對應的圖, 亦有八個,最左的是#000000, 最右的是#ffffff
在程式中設定了灰階圖的位置. 只要按到對應的位置圖像就會轉換.
所有圖像由左到右存為一個圖像檔, 依需要亦可上下排列.


在放了wms檔的面版主file內放入以上圖像後就可做出最上圖的效果, 大家可以自己改圖試試.

下一次Mirage將會在面版上面加上內設及用家自定的效果(effect),令到面版內容更豐富.