//- 创建子弹 // // @param id 子弹id // @param dest 由谁发出来的子弹 // @param src 由谁发出来的子弹 // @param poShootStartPosition 子弹生成的位置 // @param poShootEndPosition 子弹要到达的位置 // @return none public void createBullet(LiveObject src, LiveObject dest, FixVector3 poShootStartPosition, FixVector3 poShootEndPosition) { BaseBullet bullet = null; //直射子弹 bullet = new DirectionShootBullet(); //根据名字加载资源 bullet.createBody(m_scBulletName); bullet.initData(src, dest, poShootStartPosition, poShootEndPosition); bullet.shoot(); if (null != bullet) { //刷新显示位置 bullet.updateRenderPosition(0); //立即记录最后的位置,否则通过vector3.lerp来进行移动动画时会出现画面抖动的bug bullet.recordLastPos(); //加入子弹列表 GameData.g_listBullet.Add(bullet); } }
/// <summary> /// 初始化数据 /// </summary> /// <param name="src">发射源</param> /// <param name="dest">射击目标</param> /// <param name="poSrc">发射的起始位置</param> /// <param name="poDst">发射的目标位置</param> public void createBullet(LiveObject src, LiveObject dest, FixVector3 poSrc, FixVector3 poDst) { BaseBullet bullet = null; //直射子弹 bullet = new DirectionShootBullet(); bullet.initData(src, dest, poSrc, poDst); bullet.createBody(m_scBulletName); bullet.shoot(); if (bullet != null) { //刷新显示位置 bullet.updateRenderPosition(0); //立即记录最后的位置,否则通过Vector3.lerp来进行移动动画是会出现画面抖动的bug bullet.recordLastPos(); //加入子弹列表 GameData.g_listBullet.Add(bullet); } }