예제 #1
0
    //- 创建子弹
    //
    // @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);
        }
    }
예제 #2
0
    /// <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);
        }
    }