首 页 | 多媒体开发 | 合成 | 图象设计 | 动画制作 | 音频编辑 | 网站建设 | 新书上市 | 虚拟主机
论 坛 | 加入人才库 | 下载中心 | 作品展示 | 项目承接 | 光盘压制 | 企业展台 | 原创投稿 | 认证培训
bryce
 

制作街头格斗风格的游戏()

作者:Adam Montandon(作者); w_jm (翻译)
来源:www.stormsky.com/www.mobiusclub.com


添加健康状态栏
如果你现在运行游戏,.你会注意到它可以良好的播放,但是判断谁获得胜利很困难,通过给每个角色一个健康状态栏,我们可以看到谁处于领先地位,你需要象这样正确的放置健康状态栏:
Karin
的健康状态栏:
精灵通道10
x = 180
Y = 22
W = 200
H = 15

DJ的健康状态栏:
精灵通道11
水平翻转
X = 460
Y = 22
W = 200
H = 15

现在每当角色遭到攻击健康状态都会下降,其健康状态栏会缩短色彩会变暗。因此,我们将给Karin和DJ的健康状态栏制作两个新的行为。同样,健康状态栏也会检测和关注角色的健康状态是否减少到0(角色被击倒的指数误差)如果Karin被击倒了则DJ为胜利者,这个游戏将结束并会跳转到第三帧,如果DJ被击倒则Karin为胜利者,游戏结束并跳转到第二帧。
Karin健康状态栏的行为:
property spritenum
on exitframe me
  a = 80 - (sprite(4).health -200)
  sprite(10).rect = rect(a, 1528030
  sprite(10).blend = sprite(4).health / 2
  if sprite(4).health <= 0 then
    go to frame 3
  end if
end

DJ健康状态栏的行为:
property spritenum
on exitframe me
  a = 560 + (sprite(7).health -200)
  sprite(11).rect = rect(36014, a, 31
  sprite(11).blend = sprite(7).health / 2
  if sprite(7).health <= 0 then
    go to frame 2
  end if
end

现在你可以在第二帧放置“Player 1 wins”图像,在第三帧放置“Player 2 wins”图像,你还可以增加“Play again?”图像以便重新开始游戏,你可以把它放置在任何空的精灵通道上,只要它处于背景图像的上面,为了让它看上去更漂亮,我们甚至可以增加一个可以让“Play again?”图像若隐若现的脚本(因此它看上去时亮时暗)并让鼠标在它上面时有所变化。
property spritenum
on mousewithin me 
  sprite(spritenum).blend = 60
  cursor 280
end
on mouseleave me
  sprite(spritenum).blend = 40
  cursor -1
end
on mousedown me
  cursor -1
  go to frame 1
end

高级特征
如果你感到很有勇气,我们将增加一些象影子和下雨这样的高级特征。

影子
制作影子,我用Fireworks制作了两个Png图形,它们是柔和的黑色椭圆。你可以在这里下载作为影子的图形:
Karin的影子
DJ的影子

自从可以做柔和的看上去透明并在周围没有锯齿的图形以来,PNG图形在这种情况下工作的非常好。
分别把Karin和DJ的影子拖放到精灵通道3和6上,把影子方在合适的位置让它们看上去很棒,并把Blend值设置为50%,然后我们给两个制作并使用一个行为让它们在locH方向能简单的跟随上面通道的精灵。因此每当Karin向左移动,她的影子也向左移动,DJ的影子也是跟随她一起移动,其代码是:
property spritenum
on exitframe
  sprite(spritenum).loch = sprite(spritenum+1).loch 
end 

增加下雨效果
有很多人问我如何增加下雨效果,其实做起来很容易也很有趣。花费一些试验可以得到正确的下雨效果。
首先我们打开Paint窗口用柔和的灰色画一条20×20像素的斜线,正确的结果象这样:
按此在新窗口浏览图片
(注意,这是放大后的视图)
现在用一个雨点制作更多的雨,我们需要让它介于100到200之间。因此把这个雨点放置到多个精灵通道中,确信把油墨设置为Matte,
.这样白色的背景将不会显示出来。
按此在新窗口浏览图片
接着我们要做三件事情,首先,让所有的雨看上去都不一样(包括明暗、高矮和从不同的位置坠落),其次我们让于下落(不同的速度),最后一旦雨点下落到屏幕之外,我们需要再次重复这个过程,我们可以这样制作:
property spritenum
on beginsprite me
  init me
end
on init me
  sprite(spritenum).height = random(10,20
  sprite(spritenum).width = sprite(spritenum).height
  sprite(spritenum).blend = random(30,80)
  sprite(spritenum).locv = 0 - (random(20,200))
  sprite(spritenum).loch = random(100,900)
end
on exitframe me
  if sprite(spritenum).locv >= 260 then
    init me
  else
    sprite(spritenum).loch = sprite(spritenum).loch - sprite(spritenum).height
    sprite(spritenum).locvsprite(spritenum).locv + sprite(spritenum).height 
  end if
  
end

现在选择所有的雨点精灵并把你的下雨效果行为拖放到它们上面。如果它们工作正常,雨会从天空无穷无尽的落下来!

改变气氛
如果你向给游戏增加气氛,你可以在Paint窗口制作一个小的黑色矩形并把它放大以覆盖舞台,然后它的Blend值降低到大约5%到30%之间。
确保黑色矩形在总谱的最后一个精灵通道,你会注意到每个事物都会有点暗。改变这个矩形为红色,所有事物看上去都是炽热的,深蓝色有晚上的感觉,绿色制造延误弥漫的气氛。这个快速提示能真正给你的游戏增加这些感觉。

多个按键动作
你可能想增加特殊的动作或结合几个按键给你游戏中增加新的动作。通常对一个初学者这是很棘手的,因为你不得不记录所有的移动和他们按键的准确时间。但是如果你想这样做,当在检查按键时你可以通过使用这些Lingo很容易监测和关注同一时间按下的两个按键:
if keypressed("e"and keypressed("r")then sendSprite(4#Superpunch)


超越
到目前为止,每件事都保持的相当简单,但是许多熟悉Lingo的人想要更深入的开发这游戏,嗯,我已经建立了一个特殊的论坛,你可以讨论为你的游戏增加新的特征、分享代码和张贴范例。你们都可以在stormsky论坛注册,然后点击这里直接连接到相关的主题。
我希望你有兴趣制作和玩这个游戏,并为它增加新的特征,而且我希望它使你离开起跑点,在将来有制作多媒体游戏的雄心壮志。如果你想学习更多的Lingo,我强烈建议你购买这个学科的经典著作。我增加了最好的stormsky书店的连接

(一)(二)(三)(四)


.