国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 媒體動畫 > 正文

Director實例剖析:五子棋游戲地繪制(2)

2024-09-08 19:27:05
字體:
供稿:網(wǎng)友
五子棋游戲的制作
    三.棋子布置和后悔按鈕的代碼設計

1..介紹一下棋子的布置。

初始時舞臺上沒有棋子,我們通過puppetsprite 來動態(tài)的根據(jù)需要把棋子放在舞臺上并激活移動用戶使用,這樣不必在舞臺上拖大量的精靈,時游戲顯得混亂。我們這里用41及41以后的通道來共擺放棋子。

具體運用時我們在電影腳本里面定義一個函數(shù)來完成這一需要多次用到的操作:
根據(jù)nownum的值來設置,為1是設置為黑子用戶走子,-1則為白子用戶。

on setuser nownum

if nownum= 1 then
     nextname= "black"
member ( "info" ). text = "黑子走"
else
     nextname= "white"
member ( "info" ). text = "白子走"
end if

repeat with o= 41 to the lastchannel
--從41通道開始找到第一個membernum為空的演員,來對其關(guān)聯(lián)給對應的演員
if sprite (o). membernum = 0 then

--開始控制該通道
puppetsprite o, true

--設置位置等相關(guān)精靈屬性
sprite (o). loc = point ( 322 , 390 )
sprite (o). ink = 36
sprite (o). width = 18
sprite (o). height = 18

--設置對應member
sprite (o). member = member (nextname)

--添加按鈕腳本
x = script ( "chess" ). new ()

--因為設置scriptinstancelist時,不能覆蓋已有的元素,固需要加入 sprite(o).scriptinstancelist=[]
sprite (o). scriptinstancelist =[]

sprite (o). scriptinstancelist . add ( x )

--強迫初始化
sendsprite o, #beginsprite
exit repeat
end if
end repeat
end


每次下完一顆棋子后,當沒有玩家獲勝時,則調(diào)用setuser(num)出現(xiàn)下一顆棋子讓玩家移動。


2..后悔按鈕,就是把棋盤上的最近放置的一顆棋子去掉,并設置新的當前玩家。

on mouseup me
puppetsound 1 , "regret" --播放音效
repeat with i= the lastchannel down to 42 --從最好一個通道往前面掃描
--找到第一個membernum不為空的通道,即最近放置的棋子
if sprite (i). membernum <> 0 then
       pos= sprite (i- 1 ).onlinepos --得到棋子的位置信息
       onlist[pos[ 1 ]][pos[ 2 ]]= 0 --將onlist對應位置恢復,表示該位置為空了

--清空最近一顆棋子的腳本和演員
sprite (i). scriptinstancelist =[]
sprite (i). membernum = 0
--停止對最近一顆棋子所在通道的控制
puppetsprite i, 0
exit repeat
end if
end repeat
   setuser(-pos[ 3 ])
--如果舞臺上只剩一顆棋子,則不應由后悔按鈕了
if i= 42 then sel. visible = 0
end


到此位置,整個游戲的關(guān)鍵代碼就介紹完了,大家在看完本文后,在參考dir源文件分析應該時有所收獲的。

源程序下載(完)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 东辽县| 大安市| 肃北| 偃师市| 乌苏市| 永兴县| 双柏县| 蒙山县| 泸水县| 淮南市| 南开区| 延川县| 凤山县| 潍坊市| 合作市| 永康市| 获嘉县| 延长县| 黄陵县| 外汇| 定襄县| 亳州市| 龙岩市| 桂林市| 平果县| 马山县| 克什克腾旗| 彭阳县| 昂仁县| 遂溪县| 延庆县| 铜梁县| 扎赉特旗| 灵寿县| 金山区| 福建省| 阜新市| 宁阳县| 双江| 伊川县| 高雄县|