- Unity学习要点
伊H
想到什么写什么学习unity游戏引擎
前言学习Unity作为游戏开发的强大工具,对于初学者来说,掌握一些基础而实用的技巧是非常重要的。这不仅能帮助你更快地上手,还能在项目开发过程中提高效率。以下是一些Unity初学者的使用技巧,希望能为你的学习之旅提供帮助。###1.熟悉Unity界面与工作流程**开始前先浏览**:初次打开Unity,花时间熟悉编辑器的各个部分,如Hierarchy(层次结构)、Scene(场景)、Inspector
- unity学习之 编辑器拓展 20190722
那年白马啸西风
unity编辑器拓展笔记
https://www.xuanyusong.com/archives/category/unity/unity3deditor-师傅给的教程总体来说,这个教程还是挺好的,说的很全面,但是这个教程使用的unity版本有点旧,而且有些实例是要用unity,所以只做了一半实例,,也因为要赶工作,所以就不一一做完了序号题目功能简述完成度完成度等级划分各部分划分描述数量1拓展的面板视图OnInspecto
- unity学习(38)——创建(create)角色脚本(panel)--EventSystem
u宅
学习
1.在scripts文件夹下创建一个脚本CreatePlayerPanel.cs,脚本挂到panel上!给panel加个tag,叫createPanel,脚本内容如下:usingSystem.Collections;usingSystem.Collections.Generic;usingTMPro;usingUnityEngine;publicclassCreatePlayerPanel:Mon
- Unity、C#、Lua资源链接
ζั͡拼未来i
设计模式unity
Unity学习笔记【Unity】Unity学习笔记目录整理_unity教程目录_是嘟嘟啊的博客-CSDN博客腾讯云开发者社区-腾讯云(tencent.com)Unity_虫虫!的博客-CSDN博客Unity_鹅厂程序小哥的博客-CSDN博客【Unity】Unity学习笔记目录整理_unity教程目录_是嘟嘟啊的博客-CSDN博客网络_OceanStar的学习笔记的博客-CSDN博客P-MVC框架解
- unity学习(15)——服务器组装(1)
u宅
学习
1.新建好的c#项目如下:文件夹中内容如下:此时已经可以通过vs2022打开.sln文件,就可以打开项目了。2.我们把逆向后(主程序)的内容的代码粘贴过去。有些逆向功底,很快可以定位到,服务器的入口函数ServerStart.start(10100);其原始代码如下:namespaceGameServer.Hnalder{internalclassServerStart{privatestatic
- 【Unity学习日记03】数据持久化
manqi_
unity学习游戏引擎
目录1概念2PlayerPrefs2.1概念2.2操作1存储2读取3删除2.3Windows存储位置2.4优缺点分析2.5自定义类的存储3JSON3.1概念3.2JsonUtility1JsonUtility.ToJson2JsonUtility.FromJson3JsonUtility.FromJsonOverwrite3.3支持/不支持Unity序列化1字段2类3.4基于Json的简易存档系统
- unity学习(29)——GameInfo角色信息
u宅
学习
1.把GameInfo.csPlayerModel.csVector3.csVector4.csPlayerStateConstans.csGameState.cs依次粘到model文件夹中,此时项目没有错误,如下图所示;对应处所修改的代码如下:caseLoginProtocol.LOGIN_SRES://1{Debug.Log("成功登录,要进行场景跳转了");//继承一些信息,来自loginh
- unity学习(26)——客户端与服务器合力完成注册功能(8)json编解码问题,大结局
u宅
学习
服务器端发送的内容如下:客户端所接受的内容如下:是一样的,不是传输问题,少了一个解码的过程,之前那个addMessage函数应该是不能解码的!具体解析一下数据包的内容:上边的是成功的,下面的是失败的。0000001e0000000000000000000000030000000e7b2276616c7565223a747275657d0000001f000000000000000000000003
- unity学习(27)——修改text控件的内容
u宅
学习
手游最大的特点就是简单易懂好上手。1.在canvas上添加一个text的UI,内容设置为空。在字体处添加宋体,增加一个tag。2.修改LoginHandler中的内容如下:(之前有从inputFiled中获取文字的经验)publicvoidLoginHandler(SocketModelmodel)//type=LOGIN的都先进这里{Debug.Log("这里是LoginHandler.cs要r
- unity学习(28)——登录功能
u宅
学习
有之前注册的知识,登录就很容易处理了。登陆成功返回id:登录失败返回null:测试同一账号不能重复登陆!登录成功后最好可以跳到新的场景中结果是好的,去服务器看一下对应部分的代码,可见,登录成功返回的确实是账号的idpublicstringlogin(stringuserName,stringpassword,Sessionsession){if(!this.accounts.ContainsKey
- unity学习(18)——服务器执行流程
u宅
学习
服务器流程如下:1.Program.Main()->2.ServerStart.start()->3.socket.BeginAccept+ServerStart.AcceptCallBack接收客户端的连接,然后转向处理函数->暂时还没有测试多开,编译一次挺麻烦的4.socket.BeginReceive->erverStart.ReceiveCallBack->ServerStart.read
- unity学习(19)——客户端与服务器合力完成注册功能(1)入门准备
u宅
学习服务器运维
逆向服务器用了三天的时间,但此时觉得一切都值,又可以继续学习了。服务器中登录请求和注册请求由command变量进行区分,上一层的type变量都是login。publicvoidprocess(Sessionsession,SocketModelmodel){switch(model.Command){case0:this.login(session,model);break;case2:this.
- unity学习(22)——客户端与服务器合力完成注册功能(4)数据库化
u宅
学习
单纯的账号密码这种非频繁读写,实现起来很简单的,游戏的属性信息到时候也许会比较麻烦。思路:每次加入有新键值TryAdd,如果加入成功,直接重写账号密码文件即可。C#JsonConvert.DeserializeObject反序列化与JsonConvert.SerializeObject序列化(一)-CSDN博客在vs中->项目->NuGet,搜索安装Newtonsoft.Json。转化部分的代码如
- unity学习(25)——客户端与服务器合力完成注册功能(7)逻辑流程彻底解决
u宅
unity学习服务器
在服务器LoginHandler类中:publicvoidlogin(Sessionsession,SocketModelmodel){LoginDTOloginDto=Coding.decode(model.Message);//MyLog.form.textAdd("用户申请登录"+loginDto.userName+""+loginDto.passWord);Console.WriteLin
- unity学习(13)——逆向服务器
u宅
学习
学习参考教程从始至终没有讲解和提供服务器代码,但是有exe文件,随着学习的深入,发现必须获取服务器代码。dotpeek的下载链接DownloaddotPeek:Free.NETDecompilerbyJetBrainsdotpeek教学dotpeek反编译修改代码-百度文库(baidu.com)file->open,选择exe程序所在的文件夹,在assemblyexplorer中右键点击加载进来的
- unity学习(16)——服务器组装(3)命名空间问题
u宅
学习
usingGameServer.logic;usingGameServer.NetModel;代码中这两句存在命名空间的引用问题,c#和c++不一样,用的的using和命名空间,之前的惯性思维都是include和文件路径。错误:直接把逆向文件夹粘到项目文件夹中,这样做vs的资源管理器根本没反应:正确:在资源管理器中点击GameServer,然后ctrl+v,直接就进来了,而且错误直接减少成11个了
- unity学习(23)——客户端与服务器合力完成注册功能(5)客户端显示注册结果
u宅
学习
注册过程最后一步,有这个基础,登录也非常简单了。session.write(0,0,3,(object)newBoolDTO(v));直接进write函数,很明显就是给客户端返回一个数据包。publicvoidwrite(inttype,intarea,intcommand,objectmessage){SocketModelsocketModel=newSocketModel(type,area
- unity学习(20)——客户端与服务器合力完成注册功能(2)调试注册逻辑
u宅
学习
接着上一节的问题,想办法升级成具备数据库功能的服务器,这个是必须的。至少在初始化要学会把文件转换为session,新知识,有挑战的。现在是从LoginHandler.cs跳到了AccountBiz.cs的create,跳度还是很大的。create函数中的内容都没有输出,这时需要用到断点的技巧了!f5开始调试,确实是断在了我需要的地方f11,也确实进入了之前提到的create函数Debug.Writ
- unity学习(12)——简单的json解码过程
u宅
unity学习java
1.在SocketModel的minna命名空间中怎加如下三个类,用来解析json网络通信。publicclassStringDTO{publicstringvalue;publicStringDTO(){}publicStringDTO(stringv){this.value=v;}}publicclassIntDTO{publicintvalue;publicIntDTO(){}publicI
- 【Unity学习笔记】ScrollView和ScrollRect组件
一白梦人
Unity学习笔记ugui
声明:此篇文章是个人学习笔记,并非教程,所以内容可能不够严谨。可作参考,但不保证绝对正确。如果你发现我的文章有什么错误,非常欢迎指正,谢谢哦1.ScrollView简介ScrollView是滚动视图,当我们要呈现的内容长宽大于显示区域时,就可以用到ScrollView,用户可以在指定区域内拖拽而查看内容的全貌(如下图)。2.结构分析1.结构看似繁琐,但只要稍微理一下,还是比较容易理清的。大体可以看
- unity学习(24)——客户端与服务器合力完成注册功能(6)整体逻辑总结——典中典
u宅
学习
回顾一下注册过程的整体逻辑:一共分为步。之后的所有网络操作其实都大同小异。客户端上:1.(框架)canvas对象上挂着NetWorkScript,利用socket建立网络连接的机制,利用BeginReceive和ReceiveCallBack,不断循环接受来自服务器的数据包。2.(具体)sendMessage函数的作用是向服务器单次发送数据包,目前是在点击“登录按钮”和“注册按钮”时分别使用。3.
- 自己造轮子: Unity打造Timer定时器框架
游戏程序猿
1:为什么我们要自己造轮子来做定时器系统传统的Unity做定时器的方式有三种,总结如下:这里有个unity学习小组点击可以直接进入(1)在组件类里面定义一个变量,每次Update的时候,累积时间,当时间到达特定的阈值时,触发函数调用。voidUpdate(){floatdt=Time.deltaTime;this.passedTime+=dt;if(this.passedTime>=阈值){doS
- unity学习(10)——完成游戏内部消息收发
qq_27863281
网络服务器运维
‘XXX‘ismissingtheclassattribute‘ExtensionOfNativeClass‘!_ismissingtheclassattribute'extensionofnativec-CSDN博客首先明白流程,1点击按钮->2RegPanelScript中的LoginClick()->3NetWorkScript.getInstance().sendMessage->4soc
- unity学习(11)——消息分类处理
qq_27863281
unity学习服务器
学习目标:彻底搞懂游戏内部消息,网络消息和内部消息结构一样,一通百通。1.按照(10)中的方式给注册按钮也完善其所对应的触发函数。实现发送“注册申请”。publicvoidRegistClick()//登录按钮{//先find,tag的效率更高-给inputfiled的text添加标签TMP_Texta=GameObject.FindWithTag("usernameR").GetComponen
- unity学习(4)——控件
qq_27863281
unity学习游戏引擎
1.图片拖入asset,属性设成sprite;把图片拖到sourceimage中;colour白色;material为spritedefault;imagetype改成filled。2.账号密码文字text,button中文(windows自带的黑体直接拖进去即可);input输入栏;以上都不要选legacy里面的。如何解决Unity2021版本中UI显示中文乱码的问题_单机游戏热门视频(bili
- unity学习(5)——panel
qq_27863281
学习
1.unity和vs中都需要主动按ctrl+s,同时在unity中一定要注意退出游戏的执行状态,要不就都白干了。2.制作注册panel,也是ui的一种而已,再在panel中做一下上一篇的内容。3.因为这次最后加的image,遮挡住了复制过来的textinput和button,需要调整面板内部ui的上下关系。直接在hierarchy中上下拖动即可,立竿见影。panel和其他的控件之间也存在这种层级关
- unity学习(6)——通过button获取inputField的内容
qq_27863281
unity学习游戏引擎
先登录功能,注册功能照猫画虎。1.给两个inputFiled的Textaddtag,通过tag获取两个输入框内容的代码如下。usingUnityEngine;usingSystem.Collections;usingSystem.Security.Cryptography.X509Certificates;usingUnityEngine.UI;usingTMPro;usingSystem;usi
- unity学习(7)——handler 游戏内部消息机制(暂不涉及网络)
qq_27863281
学习
1.NetWorkScript这个脚本是挂在Canvas上的,并不是Camera上。2.在Scripts文件夹下创建一个Handler的子文件夹,在里面创建一个脚本LoginHandlerusingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassLoginHandler:MonoBehav
- unity学习(9)——全局对象(真正的地狱难度)
qq_27863281
学习
NetWorkScript这个脚本中,直接在类的定义中初始化了NetWorkScript对象,为了是实现全局统一使用一个全局类的效果!NetWorkScript不能继承MonoBehaviour,要不里面就不能通过new来创建全局实例了!血的教训。去掉继承就不卡了,原来warming也可以让游戏卡到怀疑人生。NetWorkScript继承MonoBehaviour就无法绑定到unity组件上了!不
- unity学习(1)——控件与脚本的入门
qq_27863281
学习unity
学习资料参考视频1Unity3dARPG网络游戏编程实践(一):网络连接(unityNetWork与socket的对比)(流畅)_哔哩哔哩_bilibili1.创建项目2创建sense3创建button4给button添加脚本,要继承MonoBehavior,命名支持中文的usingSystem.Collections;usingSystem.Collections.Generic;usingSy
- HQL之投影查询
归来朝歌
HQLHibernate查询语句投影查询
在HQL查询中,常常面临这样一个场景,对于多表查询,是要将一个表的对象查出来还是要只需要每个表中的几个字段,最后放在一起显示?
针对上面的场景,如果需要将一个对象查出来:
HQL语句写“from 对象”即可
Session session = HibernateUtil.openSession();
- Spring整合redis
bylijinnan
redis
pom.xml
<dependencies>
<!-- Spring Data - Redis Library -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redi
- org.hibernate.NonUniqueResultException: query did not return a unique result: 2
0624chenhong
Hibernate
参考:http://blog.csdn.net/qingfeilee/article/details/7052736
org.hibernate.NonUniqueResultException: query did not return a unique result: 2
在项目中出现了org.hiber
- android动画效果
不懂事的小屁孩
android动画
前几天弄alertdialog和popupwindow的时候,用到了android的动画效果,今天专门研究了一下关于android的动画效果,列出来,方便以后使用。
Android 平台提供了两类动画。 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。
第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。
- js delete 删除机理以及它的内存泄露问题的解决方案
换个号韩国红果果
JavaScript
delete删除属性时只是解除了属性与对象的绑定,故当属性值为一个对象时,删除时会造成内存泄露 (其实还未删除)
举例:
var person={name:{firstname:'bob'}}
var p=person.name
delete person.name
p.firstname -->'bob'
// 依然可以访问p.firstname,存在内存泄露
- Oracle将零干预分析加入网络即服务计划
蓝儿唯美
oracle
由Oracle通信技术部门主导的演示项目并没有在本月较早前法国南斯举行的行业集团TM论坛大会中获得嘉奖。但是,Oracle通信官员解雇致力于打造一个支持零干预分配和编制功能的网络即服务(NaaS)平台,帮助企业以更灵活和更适合云的方式实现通信服务提供商(CSP)的连接产品。这个Oracle主导的项目属于TM Forum Live!活动上展示的Catalyst计划的19个项目之一。Catalyst计
- spring学习——springmvc(二)
a-john
springMVC
Spring MVC提供了非常方便的文件上传功能。
1,配置Spring支持文件上传:
DispatcherServlet本身并不知道如何处理multipart的表单数据,需要一个multipart解析器把POST请求的multipart数据中抽取出来,这样DispatcherServlet就能将其传递给我们的控制器了。为了在Spring中注册multipart解析器,需要声明一个实现了Mul
- POJ-2828-Buy Tickets
aijuans
ACM_POJ
POJ-2828-Buy Tickets
http://poj.org/problem?id=2828
线段树,逆序插入
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;#define N 200010struct
- Java Ant build.xml详解
asia007
build.xml
1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台 --因为ant是使用java实现的,所以它跨平台使用简单--与ant的兄弟make比起来语法清晰--同样是和make相比功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有
- android按钮监听器的四种技术
百合不是茶
androidxml配置监听器实现接口
android开发中经常会用到各种各样的监听器,android监听器的写法与java又有不同的地方;
1,activity中使用内部类实现接口 ,创建内部类实例 使用add方法 与java类似
创建监听器的实例
myLis lis = new myLis();
使用add方法给按钮添加监听器
- 软件架构师不等同于资深程序员
bijian1013
程序员架构师架构设计
本文的作者Armel Nene是ETAPIX Global公司的首席架构师,他居住在伦敦,他参与过的开源项目包括 Apache Lucene,,Apache Nutch, Liferay 和 Pentaho等。
如今很多的公司
- TeamForge Wiki Syntax & CollabNet User Information Center
sunjing
TeamForgeHow doAttachementAnchorWiki Syntax
the CollabNet user information center http://help.collab.net/
How do I create a new Wiki page?
A CollabNet TeamForge project can have any number of Wiki pages. All Wiki pages are linked, and
- 【Redis四】Redis数据类型
bit1129
redis
概述
Redis是一个高性能的数据结构服务器,称之为数据结构服务器的原因是,它提供了丰富的数据类型以满足不同的应用场景,本文对Redis的数据类型以及对这些类型可能的操作进行总结。
Redis常用的数据类型包括string、set、list、hash以及sorted set.Redis本身是K/V系统,这里的数据类型指的是value的类型,而不是key的类型,key的类型只有一种即string
- SSH2整合-附源码
白糖_
eclipsespringtomcatHibernateGoogle
今天用eclipse终于整合出了struts2+hibernate+spring框架。
我创建的是tomcat项目,需要有tomcat插件。导入项目以后,鼠标右键选择属性,然后再找到“tomcat”项,勾选一下“Is a tomcat project”即可。具体方法见源码里的jsp图片,sql也在源码里。
补充1:项目中部分jar包不是最新版的,可能导
- [转]开源项目代码的学习方法
braveCS
学习方法
转自:
http://blog.sina.com.cn/s/blog_693458530100lk5m.html
http://www.cnblogs.com/west-link/archive/2011/06/07/2074466.html
1)阅读features。以此来搞清楚该项目有哪些特性2)思考。想想如果自己来做有这些features的项目该如何构架3)下载并安装d
- 编程之美-子数组的最大和(二维)
bylijinnan
编程之美
package beautyOfCoding;
import java.util.Arrays;
import java.util.Random;
public class MaxSubArraySum2 {
/**
* 编程之美 子数组之和的最大值(二维)
*/
private static final int ROW = 5;
private stat
- 读书笔记-3
chengxuyuancsdn
jquery笔记resultMap配置ibatis一对多配置
1、resultMap配置
2、ibatis一对多配置
3、jquery笔记
1、resultMap配置
当<select resultMap="topic_data">
<resultMap id="topic_data">必须一一对应。
(1)<resultMap class="tblTopic&q
- [物理与天文]物理学新进展
comsci
如果我们必须获得某种地球上没有的矿石,才能够进行某些能量输出装置的设计和建造,而要获得这种矿石,又必须首先进行深空探测,而要进行深空探测,又必须获得这种能量输出装置,这个矛盾的循环,会导致地球联盟在与宇宙文明建立关系的时候,陷入困境
怎么办呢?
 
- Oracle 11g新特性:Automatic Diagnostic Repository
daizj
oracleADR
Oracle Database 11g的FDI(Fault Diagnosability Infrastructure)是自动化诊断方面的又一增强。
FDI的一个关键组件是自动诊断库(Automatic Diagnostic Repository-ADR)。
在oracle 11g中,alert文件的信息是以xml的文件格式存在的,另外提供了普通文本格式的alert文件。
这两份log文
- 简单排序:选择排序
dieslrae
选择排序
public void selectSort(int[] array){
int select;
for(int i=0;i<array.length;i++){
select = i;
for(int k=i+1;k<array.leng
- C语言学习六指针的经典程序,互换两个数字
dcj3sjt126com
c
示例程序,swap_1和swap_2都是错误的,推理从1开始推到2,2没完成,推到3就完成了
# include <stdio.h>
void swap_1(int, int);
void swap_2(int *, int *);
void swap_3(int *, int *);
int main(void)
{
int a = 3;
int b =
- php 5.4中php-fpm 的重启、终止操作命令
dcj3sjt126com
PHP
php 5.4中php-fpm 的重启、终止操作命令:
查看php运行目录命令:which php/usr/bin/php
查看php-fpm进程数:ps aux | grep -c php-fpm
查看运行内存/usr/bin/php -i|grep mem
重启php-fpm/etc/init.d/php-fpm restart
在phpinfo()输出内容可以看到php
- 线程同步工具类
shuizhaosi888
同步工具类
同步工具类包括信号量(Semaphore)、栅栏(barrier)、闭锁(CountDownLatch)
闭锁(CountDownLatch)
public class RunMain {
public long timeTasks(int nThreads, final Runnable task) throws InterruptedException {
fin
- bleeding edge是什么意思
haojinghua
DI
不止一次,看到很多讲技术的文章里面出现过这个词语。今天终于弄懂了——通过朋友给的浏览软件,上了wiki。
我再一次感到,没有辞典能像WiKi一样,给出这样体贴人心、一清二楚的解释了。为了表达我对WiKi的喜爱,只好在此一一中英对照,给大家上次课。
In computer science, bleeding edge is a term that
- c中实现utf8和gbk的互转
jimmee
ciconvutf8&gbk编码
#include <iconv.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <sys/stat.h>
int code_c
- 大型分布式网站架构设计与实践
lilin530
应用服务器搜索引擎
1.大型网站软件系统的特点?
a.高并发,大流量。
b.高可用。
c.海量数据。
d.用户分布广泛,网络情况复杂。
e.安全环境恶劣。
f.需求快速变更,发布频繁。
g.渐进式发展。
2.大型网站架构演化发展历程?
a.初始阶段的网站架构。
应用程序,数据库,文件等所有的资源都在一台服务器上。
b.应用服务器和数据服务器分离。
c.使用缓存改善网站性能。
d.使用应用
- 在代码中获取Android theme中的attr属性值
OliveExcel
androidtheme
Android的Theme是由各种attr组合而成, 每个attr对应了这个属性的一个引用, 这个引用又可以是各种东西.
在某些情况下, 我们需要获取非自定义的主题下某个属性的内容 (比如拿到系统默认的配色colorAccent), 操作方式举例一则:
int defaultColor = 0xFF000000;
int[] attrsArray = { andorid.r.
- 基于Zookeeper的分布式共享锁
roadrunners
zookeeper分布式共享锁
首先,说说我们的场景,订单服务是做成集群的,当两个以上结点同时收到一个相同订单的创建指令,这时并发就产生了,系统就会重复创建订单。等等......场景。这时,分布式共享锁就闪亮登场了。
共享锁在同一个进程中是很容易实现的,但在跨进程或者在不同Server之间就不好实现了。Zookeeper就很容易实现。具体的实现原理官网和其它网站也有翻译,这里就不在赘述了。
官
- 两个容易被忽略的MySQL知识
tomcat_oracle
mysql
1、varchar(5)可以存储多少个汉字,多少个字母数字? 相信有好多人应该跟我一样,对这个已经很熟悉了,根据经验我们能很快的做出决定,比如说用varchar(200)去存储url等等,但是,即使你用了很多次也很熟悉了,也有可能对上面的问题做出错误的回答。 这个问题我查了好多资料,有的人说是可以存储5个字符,2.5个汉字(每个汉字占用两个字节的话),有的人说这个要区分版本,5.0
- zoj 3827 Information Entropy(水题)
阿尔萨斯
format
题目链接:zoj 3827 Information Entropy
题目大意:三种底,计算和。
解题思路:调用库函数就可以直接算了,不过要注意Pi = 0的时候,不过它题目里居然也讲了。。。limp→0+plogb(p)=0,因为p是logp的高阶。
#include <cstdio>
#include <cstring>
#include <cmath&