Unity学习日志_Unity脚本

【Unity】入门学习笔记180524——API(18)——Transform类功能注解 1、关于localScale和lossyScale的功能注解使用不当往往会使得GameObject对象产生错误的变形①当GameObject对象A为GameObject对象B的父物体时,父物体A的各个分量放缩值x、y、z的大小应保持1:1:1的比例,否则当子物体B的Rotation值比例不为1:1:1时,B物体将会发生变形。②设GameObject对象A为B的父物体,当A物体各个分量的放缩值保持1... 阅读详情

Unity学习日志_Unity脚本

1. unity脚本基础介绍

1. unity脚本中需要注意的事项:

  1. 一个脚本一个功能。
  2. 脚本是附加在游戏对象上用于定义游戏对象行为的指令代码。
  3. 文件名必须与类名一致。
  4. 写好的脚本必须附加到物体上才可以执行。
  5. 附加到游戏对象上的脚本必须继承MonoBehaviour类(单纯的工具类不需要继承此类)。
  6. unity脚本本质是一个c#类。
  7. 将unity脚本绑定到游戏对象(也是对象,GameObject类)上本质是创建了一个对象,并将对象的引用存储在游戏对象的“组件管理数组”中。(所以在inspector面板中修改属性值,修改的是一个对象的属性值,对象属性值和类中初始化的属性值不同)

2. 脚本生命周期

清楚unity引擎的函数调用时机

  1. 生命周期:unity脚本从唤醒到销毁的过程。
  2. 消息:在脚本生命周期中当满足某些条件时untiy引擎自动会去调用的方法。之前叫必然事件。

3. 脚本和C#类的区别

  1. 普通c#类的结构为:字段,属性,构造函数,方法,而脚本的结构为:字段,方法。
    1. 由于脚本挂在游戏对象上时构造函数会调用不止一次,所以失去了初始化的功能。脚本通常使用awake或者start函数初始化。
    2. 关于脚本为什么不使用属性为字段赋值:在unity脚本中有[SerializeField](unity特性)写在字段上面使私有字段可以公开在inspector面板中方便在游戏运行的时候修改私有值,也有[HideInInspector](unity特性)写在字段上面使public的字段在inspector面板中隐藏;而属性在inspector面板是不可见的,所以不使用属性。
  2. 注意在unity编程时,如果是普通的C#类(不挂载在游戏对象上)就按照标准的C#类写;如果是脚本(挂载在游戏对象上)就按照脚本标准写。

4. 脚本执行顺序:

1. 当脚本内函数相同时,会按照脚本的拖入顺序来执行。
2. 在ProjectSetting中的Script Execution Order可以人为改变脚本的执行顺序。

2. 脚本生命周期#2

在这里插入图片描述

1. 脚本生命周期部分简介#3

1. 初始化阶段#4
① Awake函数(针对游戏对象):#5
  1. 执行时机:创建游戏对象–》立即执行且只执行一次。
  2. 作用:Awake函数使不管脚本是否被启用都会执行的函数,通常用于初始化或者用于逻辑判断是否启用特定脚本。
② OnEnable函数:
  1. 执行时机:当脚本被启用时被调用。
③ Start函数:
  1. 执行时机:创建游戏对象–》脚本启用–》执行且只执行一次。
  2. 作用:Start函数永远在Awake函数执行之后执行,通常用于数值初始化。
④ 注意:
  1. Unity总是会先执行所有游戏对象上所挂载脚本的Awake函数,之后才会有可能执行Start函数。

通常初始化都放在Start函数中,当出现两个脚本之间存在执行顺序的时候,可以将优先执行的脚本初始化放在Awake函数中。

2. 物理更新阶段
① FixedUpdate函数:
  1. 执行时机:每隔固定时间会执行调用一次,默认为0.02s一次,时间可以修改。不受渲染影响(每渲染一次为一帧)。

  2. 作用:常用于物体的物理行为(移动,旋转等)。

② OnTriggerXXX函数:
③ OnCollisionXXX函数:
3. 输入事件
① OnMouseXXX函数:
  1. 调用时机:当鼠标XXX(按下,移入,移出等行为)物体Collision时调用。
4. 游戏逻辑阶段
① Update函数:
  1. 调用时机:每个渲染帧执行一次,受渲染快慢的影响(显卡渲染时的速度会受到渲染量,机器性能等因素的影响)。
  2. 作用:通常用于处理游戏逻辑而非物体的物理行为。因为游戏逻辑需要与画面同步,通常也将物体的物理行为写在update中。
  3. 为什么不用FixedUpdate处理游戏逻辑:FixedUpdate为固定时间调用,假设0.02s调用一次就等价于30帧,而当渲染帧达不到30帧或者超过30帧的时候会出现游戏逻辑延迟画面的现象。
② LateUpdate函数:
  1. 执行时机:同一渲染帧,在Update函数之后调用。
  2. 作用:通常用于处理游戏对象的跟随逻辑。
5. 结束阶段
① OnDisable函数:
  1. 调用时机:当游戏对象不可用或者游戏对象上的脚本不可用的时候调用。
② OnDestroy函数:
  1. 调用时机:当脚本销毁或者游戏对象销毁时调用。
③ OnApplicationQuit函数:
  1. 调用时机:当程序退出时调用。

3. Unity常用API

1. 核心类图:

在这里插入图片描述

  1. MonoBehaviour的继承关系:
    1. Object —》Component—》Behaviour—》Monobehaviour

2. Component类:

  1. inspector面板可以看见的组件都继承于Component类,提供寻找组件的功能。

  2. 脚本可以调用其所有父类的非私有属性和方法。

  3. Component类中存在大量的已有属性(字段)来存放组件引用如:material,transform等可不通过GetComponent方法就可以获得对应组件对象的引用。

  4. 跨组件方法调用是利用组件对象调用父类GetComponent方法实现的。例如我想要在脚本中更改物体颜色则需要通过脚本获得meshrenderer组件下的material下的color。

    this.GetComponent<MeshRenderer>().material.color = new color(1,0,0,1);
    
  5. GetComponent<>()系列方法提供了查找组件的方法。如果不是同一游戏对象则需要先查找指定游戏对象。GameObject类和Component类中都有GetComponent方法。

    1. 获得特定组件GetComponent();
    2. 获得所有组件GetComponents();返回类型是组件数组。继承的特点:既是T类型又是Component类型。
    3. 获得自身以及子对象组件:GetComponentInChildren;
    4. 获得自身以及父对象组件:GetComponentInParent;
  6. 注意:脚本中的this指代的就是这个脚本对象(添加组件的过程是建立组件对象的过程,在游戏对象中有一个数组负责管理组件对象的引用)的引用。Unity中的许多已有变量都是在提供引用,以方便开发者。

  7. 继承Component类的类都可以使用GetComponent,GameObject类也有GetComponent方法,继承GameObject类也可以使用GetComponent方法。

3. Transform类:

  1. 提供了在家族树中查找transform组件的功能,设置物体位置(移动),角度(旋转),大小的功能。

  2. 可以使用tranform获得所有第一代子物体的transform组件,直接foreach遍历即可。之后可以用gameObject来指向游戏物体。因为Transform类继承于Component类,可以使用gameObject属性。

  3. Transform中的三对属性:

    1. Position和LocalPosition:
      1. Position是相对于世界坐标的位置。
      2. LocalPostion是相对于父物体的位置。
    2. Rotation和LocalRotation:
      1. Rotation是相对于世界坐标的旋转。
      2. LocalRotation是相对于父物体的旋转。
    3. LocalScale和LossyScale:
      1. LocalScale是相对于父物体的缩放比例。
      2. LossyScale则是存储LocalScale中子物体的实际比例。LossyScale的值由LocalScale确定且不能直接更改(只有get没有set)。
  4. transform.root:寻找根物体的transform组件。

  5. transform.parent:寻找父物体的transform组件。

  6. Transform一些常用函数:

    1. transform.Tranlate(0,0,1);向自身z轴方向移动1米。
    2. transform.Translate(0,0,1,space.World);向世界z轴移动1米。
    3. transform.Rotate(0,0,1);向自身z轴旋转1度。
    4. transform.Rotate(0,0,1,space.World);向世界z轴旋转1度。
    5. transform.RotateAround(Vector3.Zero,Vector3.up,1);以(0,0,0)为原点,y轴为轴旋转1度。
    6. transform.SetParent(Transform类,[true/false]);将某个游戏对象的transform组件设置为该物体的父物体。默认为true,表示认为自身坐标为世界坐标,设置父物体后相对位置不变,false表示认为自身坐标为LocalPosition,设置父物体后,相对位置改变。
    7. transform.Find(“子物体名称或者孙物体路径”);寻找某一特定子物体或者孙子物体返回Tranform类型。只能直接查找子物体,孙物体需要路径查找。但不建议用此方法查找孙物体的transform组件。可以使用此方法递归查询孙物体。
    8. SetSiblingIndex();设置同级对象索引。UI中常用。

4. GameObject类:

  1. GameObject类(提供操作游戏对象相关功能):

  2. Hierarchy面板中的物体都是GameObject类的。

  3. GameObejct中一些常用的变量:

    1. SetActive:启用或者禁用游戏物体,设置true或false。
    2. ActiveSelf:读取当前挂在对象的局部激活状态。
    3. ActiceInHierarchy:获取当前挂载对象的实际激活状态。
    4. 注意:独立物体SetActive = false则ActiveSelf为未激活,但如果是父子关系的物体,禁用父物体子物体也会被禁用,但子物体的ActiveSelf还是激活的状态。ActiceInHierarchy则显示为未激活。
    5. layer:物体当前所在的层。
    6. Sence:当前物体所在的场景。
    7. tag:当前物体所带的标签。
    8. transform:存放当前对象的transform组件引用。
    9. 注意:非GameObject类的对象想使用GameObject的变量,需要在脚本中先 .gameObject获得当前游戏对象的引用。
  4. GameObject中一些常用的函数:

    1. gameObject.AddComponent();为一个游戏对象添加组件,注意此方法会自动生成对应的组件对象,不用单独实例化组件对象也不能实例化组件对象。返回类型为T。
    2. 也有GetComponent<>();系列方法。
    3. 静态方法Find(“游戏对象名称”);会在hierarchy面板中遍历查找,不建议使用。
    4. 代替Find方法:gameObject.FindWithTag(“标签名”);在标签名中查找效率比Find方法要好。
    5. FindGameObjectsWithTag(“标签名”);查找一个系列的游戏对象。

5. Object类:

  1. Object类(提供所有类的基础功能):

  2. Object中部分常用方法:

    1. Destroy();销毁游戏对象,组件或资源。
    2. FindObjectOfType<>();根据类型找游戏对象,返回找到的第一个游戏对象。
    3. FindObjectsOfType<>();根据类型找游戏对象,返回所有找到的游戏对象。
    4. Instantiate();克隆游戏对象并生成,参数列表:预制件,位置,角度。返回值类型为Object类型,可强转为GameObject。常用于生成游戏对象。

6. Time类:

  1. Time类:只有变量可用,方法被封装不可用
    1. time:存储从游戏开始到现在的时间,返回值类型为float。
    2. deltaTime:每一帧渲染所需要的时间。在update中处理物体物理行为时需要*一个deltaTime,这样可以保证帧数不同但移动距离或者旋转角度是相同的。
    3. timeScale:时间缩放,可以用来做暂停游戏效果,和慢放效果,默认为1;注意:FixedUpdate受timeScale影响,Update不受影响(Update每个渲染帧之后调用)。确切的说timeScale控制的是Time类,一旦Update中有参数与deltatime有关,也会被暂停。
    4. unscaleTime和unscaleDeltaTime,不受timeScale影响的time和deltaTime,用于制作在时间暂停时部分物体可动的效果。
  2. 多帧调用的几种方法:
    1. Time.time
    2. Time.deltaTime
    3. InvokeRepeating重复调用方法优先考虑,该方法常常放在Start函数中。
    4. 如果想要取消Invoke调用则使用方法Cancelnvoke。
    5. 协程

3. 游戏人物对象脚本逻辑

本逻辑图使用了老板的动画组件。

在这里插入图片描述

关于动画组件的详细分工图:

在这里插入图片描述

unity(UGUI)技能冷却 代码详解 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// <summary> /// /// </summary> public class filedskill : MonoBehaviour { public float f = 3;//决定冷却时间3秒 public bool b;//作为触发条件 pu. 阅读详情

相关推荐

GameObject.GetComponent获取组件与GetComponentInChildren方法的区别

GetComponent 是访问游戏对象的组件并调整参数的方法,GetComponentInChildren是获取子物体的组件。GetComponent 是访问游戏对象的组件并调整参数的方法,GetComponentInChildren是获取子物体的组件。

csDN_Smily的博客 3877

关于Unity3D中lossyScale的一点思考

在Unity3D中,transform的lossyScale这个属性使用情况并不多,因此很多人对其没什么了解,笔者最近在做和Unity3D有关的服务器工作,需要了解其来源,因此对其做了一点研究。 在Unity3D的官方文档里,是这样介绍lossyScale的: 然而,这样的介绍,对实现该属性并无多大意义,当然,为什么要实现该属性,因为Unity3D中的基本碰撞体是使用lossyScale伸...

qq_26900671的博客 4305

Unity学习日志 1

Unity学习日志 7.22 1.从官网下载 2018.3.15f1版本 的unity3d,成功安装 2.创建空项目,熟悉操作界面 3.尝试在场景中创建3d物体,体验对物体进行移动,伸缩,旋转等操作,通过alt快捷键和鼠标左右键对当前视角进行改变 4.通过game窗口,看到照像机预览的场景 7.23 1.学习视频教学的小栗子学习到为物体增加纹理,增加刚体部件来附加重力,选中相机对齐当前视图来调整相机的视角 2.通过为篮球增加物理材质,修改弹性,摩擦系数和计算方式可以模拟一个篮球从高处落下的情景 3.尝试

spisahero的博客 464

lossySCale localScale 和 eulerAngles 的区别

Debug.Log(Handler.lossyScale.x); Debug.Log(Handler.lossyScale.y); Debug.Log(Handler.lossyScale.z); Debug.Log(Handler.localScale.x); Debug.Log(Handler.localS...

u011644138的博客 2287

GetComponent 获取其它脚本组件变量

GetComponent 获取其它脚本组件变量

qq_43667944的博客 2154

AssetRipper终极指南:Unity资源逆向工程与项目重构实战

在游戏开发和数字内容创作领域,资源提取与逆向工程是关键技术环节,尤其在Unity引擎生态中,开发者常需分析已打包的游戏资源。其核心原理在于解析Unity特有的序列化格式,通过逆向序列化过程将二进制资源文件还原为可编辑的工程结构。这项技术的价值在于为学习项目架构、分析渲染管线、制作非商业Mod以及安全研究提供了可行性。应用场景广泛覆盖独立游戏研究、技术教学和内容二次创作。本文聚焦AssetRipper这一现代工具,它通过持续更新的版本兼容性、完整的资源还原能力以及命令行与GUI双模式支持,有效解决了传统解包工

culuo8053的博客 466

Unity脚本规则与生命周期学习日志

所有继承MonoBehaviour的脚本都会挂载到gameobject上,生命周期函数就是该脚本对象依附的gameobject对象从出生到消亡的整个生命周期中通过反射自动调用的一些函数,unity帮助我们记录gameobject依附了哪些脚本,会自动得到这些对象,通过反射去执行固定名字的函数。Start() ——> 被创建后第一次帧更新调用,和Awake类似但慢于Awake,也用来初始化。Awake() ——> 脚本被创建时调用,类似构造函数用来初始化,每个对象执行一次。

m0_59693948的博客 408

Unity资产逆向提取实战:AssetRipper原理、配置与高级应用全解析

在游戏开发与资源管理中,资产序列化与反序列化是核心技术环节,它决定了游戏资源如何被高效存储、读取与复用。Unity引擎采用自定义二进制格式对模型、贴图、音频等资产进行序列化,以实现跨平台部署与运行时性能优化。理解这一机制对于资源回收、Mod制作与项目分析具有重要价值。AssetRipper作为一款开源逆向工程框架,通过解析Unity序列化数据,将编译后的游戏文件还原为可编辑的项目结构,解决了开发者面临资源提取困难、依赖关系复杂等痛点。其工作流程涵盖加载、解析、转换与导出四个阶段,支持从PC、移动端等多平台构

weixin_30621465的博客 334

unity的学习

因为需要构建一个三维物理环境,所以学习了unity,半天就可以,非常简单清晰。

wangduqiang747的博客 1248

PCIe Electrical PHY(4)-PCIE SPEC第8章指标讲解

1.1 PCIE TX SPEC TX主要关心两类参数,一类是Voltage Parameters,一类是Jitter Parameters。 其中Voltage相关参数主要关心不同preset下差分电压幅度的准确性。以及共模电压的稳定性。 PCIE spec中对Jitter相关的参数测量定义如下: 分为两大类:DDJ(Data dependent Jitter)和UJ(Uncorrelated ...

maxwell2ic的博客 5951

USB3.0一致性测试方案

为各测试项目具体测试结果包括脉冲串突发时间、脉冲串重复时间、时钟周期以及眼图等完整USB3.0测试项目,工程师可以看到各项测试的具体结果方便观察。RIGOL 提供了一套完善的工具,包括数字示波器、专业的测试夹具以及全自动一致性测试软件,使得USB 3.0设备设计人员能够高效精确地进行信号捕捉、测试与分析。报告第二部分测试摘要,在此可以看到USB3.0测试所有测试项目,并且可以观看到测试是否正常,可以帮助工程师更好的判断测试结果。,以简化下载、存储以及对于多媒体的大量内容的共享。

2409_87378937的博客 2530

如何在5分钟内上手UnityExplorer:IL2CPP与Mono游戏调试神器

UnityExplorer是一款专为IL2CPP和Mono Unity游戏打造的调试神器,它提供了直观的游戏内界面,帮助开发者和玩家轻松探索、调试和修改游戏内容。无论是查看游戏对象层次结构、修改组件属性,还是执行自定义脚本,UnityExplorer都能让你在5分钟内快速上手,大幅提升游戏调试效率。 ## 🚀 核心功能概览 UnityExplorer的界面设计简洁而强大,主要包含以下关键功能

gitblog_00235的博客 991

从零构建:用Arduino和MCP2515模块搭建你的第一个CAN Bus网络

本文详细介绍了如何使用Arduino和MCP2515模块从零搭建CAN Bus网络,实现温湿度数据的传输与显示。涵盖硬件连接、软件配置、发送端与接收端代码实现,以及系统调试和进阶应用,帮助初学者快速掌握CAN总线通信技术。

d6e7f8的博客 833

Unity Arpg学习日志三:目标锁定

Unity 基于Cinemachine的目标锁定

2401_86960310的博客 647

从‘眼花缭乱’到‘心中有数’:rs-fMRI统计分析全流程避坑指南(附DPABI操作截图)

本文详细解析了rs-fMRI统计分析的全流程,从质量控制到统计模型选择,再到多重比较校正和结果解读。特别针对DPABI软件操作中的常见陷阱提供实用指南,帮助研究者避免FDR和GRF校正等关键环节的错误,实现从数据混乱到清晰分析的转变。

weixin_33686714的博客 398

蓝凌EIS智慧协同平台frm_form_upload.aspx接口存在任意文件上传漏洞

蓝凌EIS智慧协同平台frm_form_upload.aspx接口存在任意文件上传漏洞

nnn2188185的博客 357

Unity引擎源码编译全攻略:环境到优化

本文介绍了Unity引擎源码的编译方法,包括环境准备、源码目录说明和Windows/Mac平台的具体编译流程。环境配置要求包括操作系统、JDK、Android SDK/NDK等工具链,并提供了环境变量设置建议。编译流程详细说明了如何生成工程文件和编译不同平台组件。文中还提到许可证验证的修改方法(仅限学习研究),并列举了常见问题排查和编译注意事项。最后建议确保依赖版本匹配,可使用CI工具自动化编译,并强调安全合规使用。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1817

uniapp(全端兼容) - 最新详细实现预览pdf文件功能,uniapp安卓苹果app、H5网页、微信小程序、nvue等端打开本地或在线PDF文档进行预览,uniapp预览pdf教程(详细示例代码)

uni-app,pdf,打开预览PDF,安卓app,苹果app,微信小程序,移动端,H5网页,手机网站,微信小程序、支付宝小程序,手机app端,nvue,uniapp预览PDF,App端 实现pdf文件预览,在app端怎么预览pdf,网页h5怎么预览pdf,pdf下载、上传和预览,H5预览pdf文件,小程序预览pdf,nvue平台怎么打开预览pdf呢,除了uni.opendocument还有什么方法打开,预览pdf的插件,pdf预览组件,uni-app实现PDF预览功能,app查看下载pdf文件,如何做pd

✅ 精选推荐文章 1万+

终极跨平台Unity资产提取工具:AssetRipper完全使用指南

想象一下,你正在开发一个游戏Mod,需要从现有的Unity游戏中提取3D模型、纹理和音频资源,但原始工程文件早已丢失。传统方法需要复杂的逆向工程,耗时耗力且成功率低。现在,AssetRipper为你提供了完美的解决方案!这款革命性的跨平台Unity资产提取工具,能够轻松从Unity序列化文件和资源包中提取并转换资产到原生Unity引擎格式,让资产提取变得像拖放文件一样简单。 AssetRippe

gitblog_00777的博客 465

Arcgis模型构建器01——写一个简单的模型

在使用模型构建器解决这个需求之前,我们要想清楚如果我们手动解决的话,应该如何去处理,因为构建模型的过程正是基于我们手动处理的过程来构建的。我有一个全国的dem影像数据和一个陕西省边界范围矢量,现在我想获取陕西省的dem影像的坡度数据。填写完之后点击确定,我们发现,两个输入数据和工具连接起来了,并且通过裁剪工具得到一个中间结果,即。我们发现工具框和中间数据框都存在阴影,说明已经运行过了这个模型,不报错就说明模型运行成功!现在我们就把数据和工具都串联起来了,成功构建好了模型。

爱吃雪糕的小布丁的博客 918

【推荐100个unity插件之10】Unity Cinemachine最全的最详细的虚拟相机介绍,详细案例讲解,快速上手

相信很多同学都用过Unity的Cinemachine插件,使用它可以很方便地实现一些摄像机效果,比如摄像机追踪、推拉镜头、分镜等效果。Cinemachine的知识特别的多又很常用,本来是想做一期来讲一下的,结果搜索发现已经有人做过了,而且内容挺全的,但是内容可能比较啰嗦,还有部分没有补充,所以我就先转载下来,后续有时间再优化修改补充,觉得内容不错的,很欢迎大家去支持原作者。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2万+

Unity游戏资源逆向提取:AssetRipper核心原理与实战指南

在游戏开发与数字内容分析领域,资源逆向提取是一项关键技术,它涉及对游戏资源包的解析与重构。其核心原理基于对资源序列化格式的反序列化过程,通过解析二进制数据结构,还原出原始的游戏资产。这项技术的价值在于为开发者、研究者提供了学习参考、技术分析和二次创作的底层支持,尤其在游戏美术研究、性能优化分析和MOD制作等场景中作用显著。AssetRipper作为一款开源工具,通过其强大的兼容性和对AssetBundle、SerializedFile等格式的深度支持,实现了对Unity游戏资源的无损提取与项目重建,有效解决

weixin_30236595的博客 376

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Unity学习日志

Unity内容学习环境准备开始C#语言Unity坐标系Script(脚本)GameObject(游戏物体) 环境准备 先在官网下载UnityHub 安装一个UnityEditor版本(我安装的是 2020.2.6f1c1 版本,这是一个正式版,也可以选择其他版本) 再在 偏好选项 -> 许可证管理 中申请一个许可证(因为是个人学习,所以只申请了个人版) 再下载一个编写脚本代码的IDE,推荐的当然是Visual Studio ,安装一个稍微新一点的版本,比如我的就是 Visual Studio 201

weixin_45676920的博客 320

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Unity学习日志_面向对象思想

Unity学习日志_面向对象思想 面向对象的主要思想 面向对象编程单元模型 面向对象的思想 (主要应用于做类,做方法,不管调用) 分而治之:将一个大的需求拆分成若干的小类,每个类单独处理一个独立的模块。独立模块便于分工,便于复用,便于拓展。拆分的原则是只有一个变化点。 封装变化:功能(行为)不同,功能不同的变化点最好只有一个,则应当封装成不同的类。产生变化的地方独立封装,避免影响其他模块。比如:行走,游泳,飞行都可以算是移动,但明显行为不同,这是就需要写3个类。 高内聚:类的单一职责,指的是类

BraveRunTo的博客 839

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Unity学习日记

两个星期前,了解了Unity这个东西,由于小时候就对游戏开发有强烈的兴趣,于是下定决心,学习Unity,制作一款自己的游戏。 刚开始,在网上下载各种资源,一知半解,尤其是代码部分不是很明白,于是就先用了两天时间学习了Unity的基本操作,并尝试制作了一个塔防游戏(siki),之后开始学习C#,大一上学期学习了C,本学期正在学C++所以在自学C#时就容易多了,用了一周了解C#之后,发现对于Unit

qq_38184169的博客 397

Unity 自定义日志保存

之前unity5.x在代码中写了debug.log..等等,打包之后在当前程序文件夹下会有个对应的"outlog.txt",2017之后这个文件被移到C盘用户Appdata/LocalLow/公司名文件夹下面。觉得不方便就自己写了个 代码: using UnityEngine; using System.IO; using System; using System.Diag...

Zero_LJ的博客 44万+
上一篇: Unity学习日志_C#基础注意事项
下一篇: Unity学习日志_Unity界面简介
BraveRunTo
博客等级 码龄7年 91粉丝 75原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值