欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


Director匹配精灵游戏制作教程
Windows10更新失败如何解决
如何增添Win10系统主题颜色
Win10无法识别USB设备怎么解决
Director如何创建一个新电影
Win10如何一键清理C盘
Win10技巧:RS2 UWP版文件资源管理器如何开启
Win10系统笔记本如何关闭触摸板
iPad如何收发邮件
Win10 Edge浏览器兼容性怎么解决
Director五子棋游戏制作教程
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

  五子棋游戏的制作

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

  初始时舞台上没有棋子,我们通过puppetsprite 来动态的根据需要把棋子放在舞台上并激活移动用户使用,这样不必在舞台上拖大量的精灵,时游戏显得混乱。我们这里用41及41以后的通道来共摆放棋子。

  具体运用时我们在电影脚本里面定义一个函数来完成这一需要多次用到的操作:

  根据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为空的演员,来对其关联给对应的演员

  if sprite (o). memberNum = 0 then

  --开始控制该通道

  puppetsprite o, true

  --设置位置等相关精灵属性

  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

  每次下完一颗棋子后,当没有玩家获胜时,则调用setUser(num)出现下一颗棋子让玩家移动。

  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

  到此位置,整个游戏的关键代码就介绍完了,大家在看完本文后,在参考dir源文件分析应该时有所收获的。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站