JAVA子弹怎么弄_JavaStage:WebHYZ 概述与子弹创建

1. 物体Object与物体池

JavaStage物体是JavaStage游戏的最小单元,JavaStage物体是JavaScript对象,具体的可以参阅JavaScript对象。这里给出一定的提示:

所有的JavaScript对象都是独立的

JavaScript对象上可以用“.”或“[ ]”添加属性

当把JavaScript对象赋值给一个临时变量或属性时,并不会建立一个新的对象

函数也是JavaScript对象

有两种方法建立新对象,使用{}或者new

调用某个对象的函数属性时,函数内的this将变成该对象

JavaStage物体只有加入到物体池中才能起作用,全局函数

stgAddObject(a);

可以将a所指的对象加入物体池

另外由一些内置函数生成的对象会自动加入物体池

2. Object脚本基础

JavaStage物体可以拥有几种重要属性

Object.init 初始化脚本(函数)

Object.script 每帧执行脚本(函数)

Object.finalize 删除时执行脚本(函数)

这三个属性都是函数,一般在设置时,使用

a.script=function(){

...

};

Object.frame 物体的存活时间(整数,帧数,从1开始)

3. 发射子弹函数

全局函数

function stgCreateShotA1(x,y,speed,angle,bulletname,delay,color)

可以发射子弹,其中为子弹的位置,以左上角为<0,0>,speed为速度,angle为角度(角度制),bulletname为子弹名(字符串),delay为弹雾时间(帧),color为子弹颜色(整数,从0开始)

全局变量 stg_frame_h 为场地高度,stg_frame_w为场地宽度,可以直接使用

angle以90度为正下,0度为正右,270度正上

bulletname为子弹名,具体名称可以参考 WebHYZ\GAME\default_bullets.js 中的bullet00Assignment,比如大玉为"lDY",米弹为"sMD"

4. 在关卡中发射第一个子弹

WebHYZ的关卡对象是 WebHYZ\GAME\hyz\hyz_level.js 中的hyz.level

找到hyz.level.script

在 if(this.frame==2) 的条件块中加入

stgCreateShotA1(stg_frame_w/2,stg_frame_h/2,1,90,"sXY",0,0);

stg_last.sid=1;

即可在第二帧场地中央放出一个子弹

其中stg_last指向最后添加入对象池的对象,可以方便对当前发射的子弹对象进行修改

而设置sid=1是为了将子弹放入左边场地。Object.sid是由WebHYZ定义的属性,由于WebHYZ是双场地,sid属性决定了物体在哪个场地上,1为左边场地,2为右边场地。sid默认会继承创建它的物体的sid,但是由于hyz.level物体并不属于左右场地,因此需要手动设置。

而在boss脚本、player脚本、enemy脚本中则一般不需要设置sid。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值