代码编织梦想

从C++到C#(慢慢更新中)-爱代码爱编程

最近开始做一项工作,内容是把C++代码套用到Unity上。   Unity上的脚本文件需求都是C#,因此学习到了很多C++和C#方法的对应关系,该文章列举了作者遇到的一些方法和Unity编程中遇到的问题,记录下来以备后用,希望能帮到大家。   如有不足之处,请批评指正。   1.定义变量 C++ int A[]; string B[1,2]

Unity制作地震防空知识视频讲解程序-爱代码爱编程

https://www.bilibili.com/video/BV1Hy4y1S78b/ 定制访问https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111debJplIKu&ft=t&id=616168034838 主场景代码 using System.Collection

UGUI源码剖析(Button与Selectable)-爱代码爱编程

Runtime类图分析   Selectable Selectable是UGUI的核心组件,除了最常用的Button,它还是Scrollbar、Dropdown、Slider、Toggle、InputField这些组件的基类。 它的作用在于提供了基于鼠标事件的四种状态变化。一方面,为Button、Dropdown等派生类提供了基础的逻辑,另一方

UGUI源码剖析(RawImage)-爱代码爱编程

简要介绍 RawImage继承了MaskableGraphic,顾名思义,就是未经处理的图片,每个RawImage都会创建一个DrawCall,所以最好用在背景图片或是临时图形。RawImage只继承了MaskableGraphic抽象类。 重写了Graphic的SetNativeSize方法,具体实现设置RectTransform的sizeDel

3D动作手游的辅助瞄准算法(一)-爱代码爱编程

前言 手机上的动作游戏,一般操作方式都是, 左边摇杆控制移动,右边滑屏旋转视角, 总的来说操作起来,没有键鼠来的精准, 所以大多数的手游,需要辅助瞄准系统。 已知条件 最简单的情况,我们先假设玩家与怪物都在一个平面上(y=0),并且所有怪物都相同。 那我们可以获取到: 1.玩家的坐标, Vector3 p = Player.transfo

Cocos Creator 3.0 入门 ! 2D 素材 3D 效果!-爱代码爱编程

用2D素材实现3D效果! 前言 好久没写教程笔记了,不知大伙是否想念教程了? 温馨提示:所有内容纯属个人瞎玩研究,如要上线项目,请自行评估~ oh 最近逛论坛,看到有一位小伙伴想实现下面这种透视效果。 预期效果 接着,去找了(扒)这个游戏的素材,都是2d图片。 图片素材 这想到两个方案去实现: 纯2d

Unity3D Ruby‘s Adventure-爱代码爱编程

Ruby’s Adventure 1.DamageZone using UnityEngine; public class DamageZone : MonoBehaviour { private void OnTriggerStay2D(Collider2D collision) { //Debug.Log("与我们

一个自定义事件的注册以及触发脚本-爱代码爱编程

using System.Collections; using System.Collections.Generic; using UnityEngine; public class EventManager { public Dictionary<string, EventString> eventsString = new Di

Unity相机移动脚本+一些小玩意-爱代码爱编程

自己无聊写的几个脚本,如果有兴趣都话可以看看 首先是相机移动,相信刚学习Unity的同学对于相机的移动也是充满好奇吧? 而想要实现相机的移动肯定是与鼠标脱不了关系的,毕竟pc上你还是需要通过鼠标来进行操控,Unity官方也知道我们的需求,所以给我们提供了虚拟轴的api,用起来也很是方便。 float changeX = Input.GetAxis("Mo

unity如何让物体与特定物体之间不发生碰撞-爱代码爱编程

unity中我们普遍使用的是碰撞器来实现各个物体的碰撞体积,例如Box collider, Sphere Collider。 在实现游戏的过程中,如果不想要物体与特定物体产生碰撞,或反之,只想让碰撞发生在特定物体之间时,我们就需要配置layer collision matrix。 首先我们给予需要特殊照顾的物体一个自己的layer,这里我想要这个lay

Unity开发WebGL与前端之间如何通信交互?-爱代码爱编程

在Unity开发WebGL过程中,常常因为需求必须要与前端进行通信、对接,如何实现呢? 前言 在Unity老版本中,可以用Application.ExternalCall()方法,在2018及以上版本,该方法已经弃用掉,由新的方法来代替。这里不讨论老方法如何使用了。 操作步骤: 1.在Unity中Project目录“Assets\Plugins

【日常踩坑系列01】JetBrain Rider2020.1在Unity3D中断点调试Lua-爱代码爱编程

【日常踩坑系列01】JetBrain Rider2020.1在Unity3D中断点调试Lua JetBrain Rider2020.1+Unity+EmmyLua+EmmyLua-AttachDebugger第一步:下载Rider第二步:下载并安装EmmyLua插件第三步:下载并安装EmmyLua-AttachDebugger 插件(关键!!)第四

UGUI 实现Inventory背包系统-爱代码爱编程

UGUI 实现Inventory背包系统 一、效果展示 二、实现过程 大致实现过程参考自师兄的博客https://blog.kinpzz.com/2016/05/21/unity3d-ugui-Inventory/,其中加入了自己的不少修改,包括项目结构和具体的实现逻辑。 界面主要分为两部分,第一部分是UI,包括右侧背包栏和左侧装

unity开发 相机旋转、缩放、拖动、抖动等控制-爱代码爱编程

下面展示一些 相机旋转、缩放、拖动、抖动等控制。 using System.Collections; using System.Collections.Generic; using UnityEngine; using HedgehogTeam.EasyTouch; using MR_LBS.Client.Unity3D; using UnityEngi

unity开发 音效控制器-爱代码爱编程

下面展示 音效控制器。 /************** * 技能宠物音效控制器 * * ***/ using System.Collections; using System.Collections.Generic; using UnityEngine; namespace MR_LBS.Client.Unity3D { //技能音效

张一鸣:上班时间在群里闲聊游戏,是工作量不饱和吗?员工:不影响工作就可以...-爱代码爱编程

近日,社交媒体上流传的一张截图显示,张一鸣在游戏群里询问员工近日工作是否不饱和,原因是员工在上班时间聊游戏,“好奇,一大早到现在就在群里聊天的同学/部门是今天工作很空闲吗,这很常见吗?”   聊天记录显示,张一鸣表示,因为试玩原神在Lark(飞书)搜到并加入这个群,发现最近这个群在上班时间一直拼命在闪,有一些同学经常在上班时间专注地聊游戏。  

Unity has stopped working 解决办法(Unity2020.1)-爱代码爱编程

Unity has stopped working 解决办法(Unity2020.1) 写代码过程中,调试了下程序,可能由于个人电脑临时内存不足原因,unity迟迟没有反应,五分钟后还是卡在加载界面,打开任务管理器,直接关闭了任务,再次打开Unity3d 出现了以上情况。 1、试着重装unity3d,再次打开unity3d时,Unity报错Sent

unity PEM格式RSA加密-爱代码爱编程

PEM格式加密可以选择下面的方式加密哦 //引用如下: //using Org.BouncyCastle.Crypto; //using Org.BouncyCastle.OpenSsl; //using System.IO; //using System; public static string Encrypt(byte[] data,string

unity3D做一个简单的倍镜-爱代码爱编程

首先创建一个平面plane,然后再创一个胶囊作为人物,给plane加上碰撞体, 给人物加上碰撞体和刚体。 然后创建代码 using System.Collections; using System.Collections.Generic; using UnityEngine; public class bj : MonoBehaviour { pu

再谈c#的list,从底层实现原理来分析,以及简单的优化-爱代码爱编程

因为最近经常用到list,所以对它可以动态调节长度很感兴趣,决定一探究竟,结果还真发现了一些有意思的东西; 大家看下面的代码: List<int> list = new List<int>(); Console.WriteLine("list当前长度:" + list.Capacity + ";list有效长度" + lis