📔
TerraCraft
  • TerraCraft
  • English
    • Mod Document
      • Mod Dev Official Tutorial
      • Mod API Document
        • Data Types and Enums
        • JSON
        • Entity
        • NPC
  • 简体中文(旧版教程)
    • 模组文档
      • Engine API
        • App
        • AssetBundle
        • AtlasInfo
        • AtlasTextureManager
        • Audio
        • Bytes
        • File
        • GameObject
        • GlobalHook
        • Graphics
        • Hotfix
        • Image
        • ImageInfo
        • IntegratedClient : IntegratedEnv
        • IntegratedEnv
        • JsonUtil
        • Log
        • MathHelper
        • Matrix
        • Path
        • Random
        • Rect
        • Rigidbody
        • TextureLocation
        • TextureManager
        • Transform
        • Vector2
        • Vector3
        • Vector4
      • Game API
        • Attack
        • ArrayList<T>
        • EffectUtils
        • Entity
        • LightingUtils
        • ModNpc
        • ModProjectile
        • Npc : Entity
        • NpcUtils
        • Projectile : Entity
        • ProjectileUtils
        • Reg
        • SoundUtils
        • Utils
      • 模组API文档
        • 数据类型、枚举类型
        • JSON API
        • 引用API
        • 注册信息API
        • 语言API
        • 通用API
        • 物品API
        • 实体API
        • 特效API
        • 抛射物API
        • 状态效果API
        • 附魔API
        • 玩家API
        • NPC API
        • 骨骼模型API
        • 光照API
        • 音效API
        • 方块API
        • 方块实体API
        • 地图API
        • 渲染API
        • 指令API
        • 用户图形界面UI
        • 其他API
      • 模组开发官方教程
        • ExampleMod源代码仓库
        • 1.0 教程对应游戏版本(Indev 1.1)
        • 1.1 开始
        • 1.2 安装Visual Studio Code
        • 1.3 配置模组环境
        • 1.4 认识模组路径
        • 1.5 认识JSON数据表
        • 1.6 第一个物品
        • 1.7 认识地图元素
        • 1.8 第一个图块TODO
        • 1.9 第一个家具TODO
        • 1.10 加入合成表TODO
        • 未完待续……
      • 模组数据表文档
        • 基本JSON类型
        • 模组配置表(tcmod.json)
        • 物品表(contents/items/...)
        • 物品配置表
        • 弹药表(ammos.json)
        • 状态效果表(buffs.json)
        • 音效配置表(sound_config.json)
        • 音效表(sounds.json)
        • 背景表(backgrounds.json)
        • 皮肤表(skins.json)
        • 着色器表(shaders.json)
  • 新版教程
    • 1 基础部分
      • 1.1 安装集成开发环境
      • 1.2 获取TerraCraft源码
      • 1.3 认识Lua
      • 1.4 Mod架构
      • 1.5 游戏主生命周期和主状态机
      • 1.6 Lua实战
      • 1.7 第一个物品
      • 1.8 本地化翻译
      • 1.9 配方系统初探和矿物字典
Powered by GitBook
On this page
  • 函数

Was this helpful?

  1. 简体中文(旧版教程)
  2. 模组文档
  3. Game API

ProjectileUtils

抛射物通用模块。

函数

Projectile/nil ProjectileUtils.Get(EntityIndex entityIndex) 获取指定索引表示的抛射物,如果不存在,返回nil。

bool ProjectileUtils.IsAlive(EntityIndex entityIndex) 判断指定索引的抛射物是否存在。

Projectile ProjectileUtils.Create(int id, double centerX, double centerY, double speedX = 0.0, double speedY = 0.0, Attack attack = Attack:new(0, 0, 0)) 创建一个抛射物实体,返回创建好的抛射物实体。 id:抛射物ID。 centerX和centerY:创建抛射物的中心点。 speedX和speedY:初始运动速度。 Attack:抛射物的基础攻击力。

Projectile ProjectileUtils.CreateFromPlayer(Player playerOwner, int id, double centerX, double centerY, double speedX = 0.0, double speedY = 0.0, Attack attack = Attack:new(0, 0, 0)) 创建一个以指定玩家为拥有者的抛射物实体,返回创建好的抛射物实体。

Projectile ProjectileUtils.CreateFromNpc(Npc npcOwner, int id, double centerX, double centerY, double speedX = 0.0, double speedY = 0.0, Attack attack = Attack:new(0, 0, 0)) 创建一个以指定NPC为拥有者的抛射物实体,返回创建好的抛射物实体。

ArrayList<Projectile> ProjectileUtils.SearchByRect(double x, double y, int width, int height) 返回包含于指定矩形区域内部的所有抛射物列表。

ArrayList<Projectile> ProjectileUtils.SearchByCircle(double centerX, double centerY, int radius) 返回包含于指定圆形区域内部的所有抛射物列表。

Projectile/nil ProjectileUtils.SearchNearestProjectile(double centerX, double centerY, int radius, bool noCrossTiles = false) 搜索在指定圆形区域内部距离圆心最近的抛射物,返回该抛射物。若结果不存在,返回nil。noCrossTiles表示是否排除中心到圆心的连线被图格遮挡的抛射物。

PreviousProjectile : EntityNextReg

Last updated 3 years ago

Was this helpful?