首先买过一本叫 Unity3D开发的书,开篇第一个例子就是大家经常碰见的打飞机的例子,写完后我觉得不好玩。后来买了一本 Unity 官方例子说明的书,第一个例子也是打飞机,但是写完后发现蛮酷的,首先就是例子自带的音乐很不错,粒子效果也不错,摄像机等各个参数在书中也有明确说明,自己写的时候按照这个调试好的参数来设置游戏就会很舒服。所以就想学一下为什么这样设置参数就可以把游戏调的酷一点,下面整理一下。
转载 2024-07-08 06:32:51
45阅读
原文:WPF画图の利用Path画扇形(仅图形)一、画弧Path继承自Sharp,以System.Windows.Shapes.Shape为基类,它是一个具有各种方法的控件。我们先看一段xaml代码:画出图形的效果如下:如上红色部门。Path的属性 Stroke无可置疑,就是决定颜色,Fill作为内部填充颜色。Path.Date就是决定了这个Path的数据信息PathGeometry是绘图逻辑(要绘
前一篇博客 C#char控件的使用心得 简述一个使用chart控件的例子此处详细整理一下chart控件的使用。要使用好Chart控件我们先得明确它的结构。如下图所示:(只画出了大概结构,更多的细节会使得图片可视性差)1. 一个chart可以包含多个chartArea。 chartArea是具体的坐标区域。2. 每一个chartArea主要包含X轴,Y轴,副X轴(上方),副Y轴(右方),绑定的线条,
转载 1月前
330阅读
前言最近开始参与开发一个moba类型的游戏,其中就遇到了要制作雷达图的选手能力展示,所以开始研究异形图片是如何生成的。在游戏的开发中,开发人员可以根据需求拖拽不同形状的图片到Image的source image中完成对画面的装饰,比如这样 这些图片是我在ppt里取下来,用在unity的image上,确实通过这样的一种方式可以满足画面的装饰取材需要。 但是,开发无止境
Unity编辑器开发:官方风格的Table控件Table控件能够非常直观地展现批量的数据。在Unity中,Light Explorer就是一个典型的具有Table控件的窗口。 如上图所示,窗口上方是4个TabButton。下面就是一个Table。这个Table功能非常强大,有列表,排序,筛选,实时同步数据更新,实时同步选择等功能。 在Unity项目开发中,也常常需要做这种Table数据的展示或者
转载 2024-03-03 21:25:02
189阅读
六、Toolbar控件 Toolbar(工具栏)控件用于创建工具栏,并且以Tab页面的形式来显示的。当我们选中其中任意一项,将返回该项的ID。通常我们使用GUI.Toolbar()来绘制工具来,其返回值为int型,即选项的ID号。 Parameters(参数): position : Rect —— 用于工具栏在屏幕上的矩形位置。 selected : int —— 被选中的按钮的索引号
转载 2024-05-15 12:59:17
119阅读
目录1、引言2、问题分析3、代码部分4、使用举例4.1、场景搭建4.2、测试4.3、效果展示5、Demo下载6、结束语 1、引言  我们在平常的开发中常常碰到列表类的数据处理!典型的像玩家列表这种可能数量非常庞大,可能有几百个!我们假设一次全部创建可能一下子就导致app安顿崩溃!下面我们带着问题一起分析。2、问题分析  事实上我们我们在床架这些Item子节点的时候非常浪费性能,大量的Item导致
前言        学习UnityShader已经有几个月了,从刚开始开、看shder代码像看天书一样的小白,到现在略懂一二的入坑新人,一路走来体会到了shader神奇的力量。这次是我首次针对项目需求实现的shader,实现UI从上往下渐变,心里还是有点小小窃喜 哈哈哈哈。效果逻辑uv坐标就能帮我们确定。uv的x轴分量0表示图片的最左端,1表示图片的最右端。
转载 2024-06-06 13:48:39
162阅读
前提今天记录的是我在项目中遇到的一个小需求,关于UIScrollRect组件滑动到最下面时再次滑动则可以加载数据的问题,类似于平日我们刷新微博。在刚开始做需求的时候有点小苦恼,因为要判断列表是不是滑倒最下面一行有点小复杂,而且时间又特别急,没时间让我去研究它的源码。这时让我发现了 Scrollbar 组件,可以说是让我眼前一亮,一个非常简单的方法就出来了。关于如何使用Scrollbar 和Scro
转载 2024-05-02 20:27:40
604阅读
什么是动态库、静态库库是共享程序代码的方式,一般分为静态库和动态库* 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝 * 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。Linux、Android、Unix静态库为.a文件,动态库为.so文件Windows静态库为.lib文件,动态库为.dll文件i
转载 2024-03-23 07:56:55
176阅读
前言实现一个列表组件,表现方面最核心的部分就是重写布局(Layout)。对于简单的列表,尤其是“Cell数量固定且较少、没有超页滚动展示”一类的需求,使用UGUI自带的布局组件进行布局即可。分别为:水平布局组件(Horizontal Layout Group)、竖直布局组件(Vertical Layout Group)、格子布局组件(Grid Layout Group)。而当 “Cell的数量多而
转载 2024-02-29 10:15:01
652阅读
一:效果演示二:实现思路通过头下标和尾下标记录当前实例化数据的最大最小索引,之后用Content的锚点位置与当头下标的锚点位置进行比较判断滑动的方向以及是否超出滑动范围,如果正方向滑动超出范围则将第一个元素移动到最后一个,如果反方向滑动超出范围则将最后一个元素移动到第一个,这样场景中始终存在5个实例化的元素,依次改变元素的位置和显示即可三:使用说明——此功能脚本是对ScrollRect的扩展,所以必须添加UGUI提供的基础Scroll View——Content上必须添加GridLa
原创 2022-01-25 11:44:12
599阅读
例如一个列表中有顺序的10个数字0-10,现在需要将他们打乱顺序。
原创 2022-09-10 00:30:55
10000+阅读
   C#学习之foreach循环原理结构篇:foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。此语句的形式如下: foreach (type identifier in expression) statement 其中: typ
转载 7月前
89阅读
无限滚动复用列表一、Demo展示二、前言游戏中有非常多的下拉滚动菜单,比如成就列表,任务列表,以及背包仓库之类;如果列表内容非常丰富,会占用大量内存,这篇无限滚动复用ScrollView就是解决这种问题;还可以用来做朋友圈,聊天等;一般情况,ScrollView中每个Item的大小是一直的,使用ContentSizeFillter组件足够解决大部分问题;如果每个Item大小不一致,问题就复杂起来,
转载 2024-03-07 20:50:16
446阅读
12月20日新增增加一个可收缩的滑动列表,适用于游戏中的任务系统,成就等使用说明创建时需要两个模板slot,一个是button,另一个则是btn下显示的cell配置如下图添加ExpandableView脚本,新增的IsDefaultExpand用来控制是否展开11月28日新增增加可调节的顶部间隙和左侧间隙采用 缓存池+存储布局坐标 实现的一个可横向或纵向滑动的无限滑动列表Demo展示:功能支持:可
转载 2024-03-19 07:13:25
187阅读
   先说一下为什么要说是小贴士系统,因为这个东西是额外功能,虽然你可以说它附属于其他UI等模块,但是确是独立于他们的,另一方面做成一个单独系统也是为了扩展性。毕竟这个可复杂,也可简单。   我们这个表现形式为 上滚 显示一条,随机轮播,而且要保证我所有的提示都显示一遍之后再循环。  首先,实现滚动的方式是很多的,这里还是采用unity自带的系统&
转载 2024-03-01 10:22:19
424阅读
光照定义Lit.shader和Lit.hlsl文件。将着色器的照明模式设置为CustomLit来进行说明自定义光照。向Pass里添加一个Tag块,其中包含“ LightMode” =“ CustomLit”。要渲染使用此pass的对象,必须将其包含在CameraRenderer中。首先为其添加一个着色器标签标识符。然后将其添加到要在DrawVisibleGeometry中渲染的过程中,就像在Dra
Unity图集简介及使用定义图集是将很多零碎的2D小图整合成一张大图,方便unity渲染合批,降低渲染消耗。优势1.UI的合批处理,减少DrawCall多张图片需要多次DrawCall,合并成一张大图只需要调用一次DrawCall2.减少对内存的占用OpenGL每张贴图都需要设置为2的N次方才能使用,假设有宽高分别为100x100、10x10的两张图片,如果不合成大贴图,那么就需要分别使用128x
转载 2023-10-08 07:15:39
103阅读
首先创建一个C#的窗体应用(.net框架): 在左侧隐藏的工具箱中可以添加控件,对自己的窗体做初步的布局。这里记录我在做项目的过程中遇到的两个较严重的问题:问题1:用重叠的Panel实现界面切换,本来可以简单地靠Panel.BringToFront()或Panel.Visible=true和Panel.Visible=false配合着来实现,但是因为自己在窗体设计界面手动调整Panel的大小,导致
  • 1
  • 2
  • 3
  • 4
  • 5