LP编辑器-使用手册
LP编辑器 (opens new window)
LP社区 (opens new window)
LP官网 (opens new window)
LP编辑器 (opens new window)
LP社区 (opens new window)
LP官网 (opens new window)
  • 初章

    • LP编辑器
    • 创建新项目
    • 基本设置
    • 发布作品
  • 编辑器界面

    • 界面总览
    • 工具模块
    • 游戏界面
    • 调试区域
  • 基本概念

    • 模块
    • 属性
    • 公式
    • 组合属性
    • 自动增加属性
    • 属性转化【需求、花费、获得】
    • 场景与控件
    • 字符串与图标
    • 深入理解控件
    • 自定义控件
    • 事件系统
    • 表格
    • 聊天与排行
    • 重置功能
    • 其他概念
    • 脚本系统
    • 模板功能
    • 商店插件
    • 邮件插件
    • 成就插件
    • 地图插件
  • 对象系统

    • 类与对象
      • 类
        • 新建类
        • 类名
        • 对象默认名字
        • 对象默认介绍
        • 类属性
        • 类事件
        • 类对象销毁条件
        • 类对象销毁事件
        • 类属性与普通属性
      • 视频教程
    • 对象与控件
    • 对象筛选器
  • AI系统

    • 什么是AI
    • 编辑器AI功能
    • 控件发送提示词
    • AI冒险插件
  • 催更力教程

    • 什么是催更力
  • 初级制作教程

    • 点击增加属性效果
    • 动态控制属性上限
    • 自动增加属性效果
    • 初级弹窗制作
    • 小和尚敲木鱼
  • 高级制作教程

    • 让玩家选择属性效果
    • 离线事件获取与兑换
    • 挂机类RPG游戏制作
  • 编辑器教程
  • 对象系统
lpengine
2022-09-29
目录

类与对象

# 类

什么是类? LP中的类和传统编程中的【类】相似。简单的可以理解成可以在游戏中无限生成的更复杂【属性和事件集合】的一个模板,在游戏中被生成出出来东西我们叫他【对象】。

什么是对象? 通过类生成出来的,同一个类生成出的每个对象拥有相同的属性种类和逻辑判断,但是实际的属性值确是各自独立且互不影响。

# 新建类

你可以通过LP编辑器右侧的类对象面板,新建一个类

类拥有如下几个编辑项

  • 对象描述:用以显示对象相关属性、数据用的。
  • 对象属性:对象所拥有的属性,支持上下限和默认值。
  • 对象事件:对象拥有的事件,对象各对象的事件独立运行。
  • 对象摧毁条件:达到条件后则会摧毁当前对象,并不是摧毁所有。
  • 摧毁事件:当对象被摧毁时会触发的事件。

# 类名

仅用于LP编辑器中搜索,没实际用途

# 对象默认名字

我们通过类生成的对象一般叫作对象。我们可以给每一个对象生成一个他自己的名字,这个名字就是对象默认名字。如果你不填写,那么可以在实际创建对象的时候,再去指定。详见下一节对象与控件

# 对象默认介绍

与默认名字同理

# 类属性

类属性是类的一个重要组成部分,类属性是类的一个属性集合。每当生成一个对象后,对象就会获得这个类的属性值。

类属性必须是在LP编辑器中已经存在的属性

你可以设定类属性的默认值,当对象被生成时,该对象会自动获得这个设定的类属性的默认值。

后续在实际生对象的时候,可以覆盖整个默认值。

# 类事件

上文在介绍事件时,是游戏中玩家的事件。在类中,我们可以为类添加事件,这样子当类生成对象后,这些对象都会拥有这些事件。这些事件在每一帧一样会触发。对象事件中使用的所有属性,都会优先使用对象的属性。

提示

比如我们拥有一个类,叫农田,我们生产了5个农田对象,对象拥有事件自动浇水。那么在每一帧,这5个农田对象,都会做一遍自身的自动浇水的判断。

# 类对象销毁条件

类似需求属性,当需求满足时,对象就会被销毁。这个销毁判断,会在每一帧进行一次。

# 类对象销毁事件

当对象被销毁时,会判断这些事件的触发。

# 类属性与普通属性

我们知道在LP编辑器中添加了一个属性后,玩家就拥有了这个属性。如果添加到类中,那么类生成的对象,也会拥有该属性。并且该对象的属性,跟玩家的属性是互相独立的。

比如:玩家拥有5点属性a。对象A拥有8点属性a。这里的a是同一个属性,但是玩家和对象A的a的值是互相独立的。

注意

注意! 我们的对象事件中引用的所有属性,都会优先采用对象的属性。

比如,对象事件,当a>=10时,触发事件,消耗5点a。这里的a,优先扣除对象的a的值,而不是玩家的a。

假如类对象中,没有b这个属性,如果扣除的是b的值,那么就会扣除玩家的b的值,而不是对象的,因为对象没有b这个属性。

# 视频教程

本文字教程持续更新中!还有很多内容没来得及完善,可以先看视频教程~视频较老,部分界面可能不同,理解概念即可

支持LP平台

上次更新: 2023/12/06, 19:43:46
地图插件
对象与控件

← 地图插件 对象与控件→

Theme by Vdoing | Copyright © 2022-2025 LPEngine
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式