- 博客(29)
- 资源 (2)
- 收藏
- 关注
原创 Unity2D教程:菜单界面、文字设置、常用界面功能
菜单界面创建一个UI-Image,会自动生成Canvas。设置Canvas的设置模式为随屏幕改变设置Image的伸展模式,在这个界面按下Alt键会变成这样,选择右下角那个就是填充整个Canvas了在当前Image下创建Button,将Button下面的Text和Button自身都弄成预置物Text可以加一个Outline组件更加美观,并且设置为居中效果常用按钮事件绑定按钮事件,把下面的脚本挂到Image下,通过public获取按钮对象。/* * Author :
2020-06-30 19:14:28 4766
原创 修改Unity Asset Story的默认下载路径
本机的默认下载路径在C:\Users\Thinkpad\AppData\Roaming\Unity\Asset Store-5.x其中AppData是隐藏文件夹,需要右键快速访问后点击选项,里面修改找到Asset文件夹后,将整个剪贴到你想要放的目录, 我放在D:\Files and documents\Asset Store-5.x然后进cmd,输入命令mklink /j "C:\Users\Thinkpad\AppData\Roaming\Unity\Asset Store-5.x" "..
2020-06-30 17:47:22 2608 3
原创 Unity2D教程:生成apk文件
下载JDKhttp://www.Oracle.com/technetwork/Java/javase/downloads/index.html安装到自己选择的目录(路径最好没有中文)添加一个叫JAVA_HOME的系统变量,值为安装路径系统变量里面的Path内新建项:%JAVA_HOME%\bin此时可以在cmd下通过javac -version查看JDK版本下载Android SDKhttps://www.androiddevtools.cn/Android SDK工具 - SDK
2020-06-30 17:02:25 1148
原创 Unity2D教程:通过摇杆控制人物移动
创建摇杆还是要提醒一下Canvas设置size随屏幕大小变化而变化。创建UI内的Image,设置为摇杆背景。需要设置锚点为左下角。在Rocker下再创一个Image,RockerCenter。锚点要在正中间。创建脚本ScrollCircle,并给Rocker。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using
2020-06-26 11:11:04 3574 2
原创 Unity2D教程:人物状态条(头像、生命值、魔力值)
UI里面创建4个Image,代表背景框、血条、蓝条、头像。改变source image,并按下set native size恢复到原始大小由于固定于左上角,所以设置锚点为左上角人物状态栏最好设置大小随屏幕大小而改变设置血条蓝条变动,这样设置后fill amount减少后会从右边开始减少,并且左边的部分不会变动。Player下面通过脚本修改amount为health/maxHealth,蓝条同理(通过tag来找到血条)GameObject healthBar..
2020-06-25 18:57:53 2824 1
原创 Unity2D教程:人物移动动画,动画状态机之间的转化,BlendTree,动画卡顿问题
2D像素人物可以通过抬左脚和抬右脚以及原画三种照片完成动画效果把这三种图片水平翻转后,你就得到了所有需要的素材最简单的正常动画逻辑需要4个动画,左idle,右idle,左walk和右walk。idle直接让4张相同的原画就行walk则是左脚右脚左脚右脚左脚右脚,重复是为了看起来流畅点(1秒6个关键帧)状态机的转换需要想一下我们设置了2个参数,speed和lookLeft,表示速度和朝向。idle到walk:检测到speed>0.5触发,根据朝向判断哪个..
2020-06-25 18:45:23 4877
原创 Unity2D游戏学习
Unity2D教程:人物移动Unity2D教程:地图制作TilemapUnity2D教程:预置物PrefabsUnity2D教程:碰撞器Collider,抖动问题,人物旋转问题Unity2D教程:相机跟随Unity2D教程:物品拾取、Trigger、计时器Unity2D教程:添加敌人、简单动画、动画结束后销毁对象...
2020-06-25 18:28:33 2515
原创 Unity2D教程:添加敌人、简单动画、动画结束后销毁对象
添加敌人添加一个敌人加上Collider 2D用OnCollisionEnter2D来给予伤害,这些都比较简单不仔细说了。private void OnCollisionEnter2D(Collision2D collision) { Player p = Helper.GetPlayerByCollision2D(collision); if (p == null) return; p.HealthChange(-damege);
2020-06-25 18:20:34 3633
原创 Unity2D教程:物品拾取、Trigger、计时器
物品若无法拾取也不会阻碍人物行动,所以设置为Is Trigger。上代码Helper.csusing System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// 帮助类/// </summary>public class Helper : MonoBehaviour{ // 获取Collider2D collision所对应的PlayerHe
2020-06-24 21:22:52 2580 1
原创 Unity设置默认C#文件的内容
找到Unity\Editor\Data\Resources\ScriptTemplates下的81-C# Script-NewBehaviourScript.cs.txt将内容设置为:/* * Author : YourName */using System.Collections;using System.Collections.Generic;using UnityEngine;public class #SCRIPTNAME# : MonoBehaviour{ v
2020-06-24 20:11:04 554
原创 Unity 常用代码
键盘输入:if(Input.GetKey(KeyCode.I/Space/LeftArrow))鼠标输入:Input.GetMouseButtonDown(0)设置速度:this.GetComponent<Rigidbody>().velocity = new Vector3(x,y,z)施加力:this.GetComponent<Rigidbody>().AddForce(Vector3.up * force, ForceMode.Force);时间相关向量
2020-06-24 19:35:02 5840
原创 Unity2D教程:碰撞器Collider,抖动问题,人物旋转问题
人不能进到树里面,所以需要相互碰撞来杜绝这个现象给人和树添加Collider 2D,点击Edit Collider修改碰撞器的位置和大小。2D下一般以下半部分作为碰撞区域,比较真实。添加Rigidbody 2D,让你的游戏对象被物理引擎所控制,它能通过受到推力和扭力来实现真实的物理表现效果。所有游戏对象必须包含刚体组件来实现重力、通过脚本施加力、或者与其他对象进行交互。该场景不需要重力,设置Gravity为0。且不希望人物旋转,所以锁定Z轴。此时人和树就会分隔开了,但是碰撞
2020-06-24 16:00:02 5126
原创 Unity2D教程:预置物Prefabs
当有很多同一对象(多棵树)时,每棵树除了位置不同,其他都相同。且在之后的设计中,改变了一个就可以同时改变其他的,这便是预置物的好处。在Assets下面创建Prefabs文件夹。将Scene下面的对象拖到该文件夹下面就可以使其变为预置物(变为蓝色)。可以直接从文件夹内将预置物拖出。之后对一个进行修改后(除了位置),可以直接apply修改所有的预置物(文件夹下面的那个也会变)...
2020-06-24 15:36:26 1189
原创 Unity2D教程:地图制作Tilemap
Assets下创建一个Tiles文件夹,等会所有的资源都保存在这里创建地图创建地图调色板将图片拖入Images文件夹可以设置将该图片分为几块设置单元格对应的像素,比如图片是200200像素,分成22块,所以单个unit是100画板使用选中一种后使用工具在Tilemap里面画就行了,工具前面两个不清楚,后面依次是画一格,画一个矩形,在Tilemap里面选中,橡皮擦,填充一块区域。...
2020-06-24 14:29:15 6350
原创 Unity2D教程:人物移动
按键自带的Input有GetAxisRaw来获取按下按键后所对应的值,Input.GetAxisRaw(“Horizontal”)在按下D或右箭头返回1,A或左箭头返回-1;Input.GetAxisRaw(“Vertical”)同理。Input.GetAxis会根据按下时间返回小数,类似于有了加速度 float moveX = Input.GetAxisRaw("Horizontal"); float moveY = Input.GetAxisRaw("Vertic
2020-06-24 14:10:13 15161 3
原创 C# 高级
ref通过加关键词ref使得基本类型变为传引用:// 定义void deal(ref int a){}// 使用deal(ref a)只读定义时使用getpublic string title { get; } = ""; 值得注意的是,虽然不能直接赋值,但是却可以调用其成员函数来达到修改的效果。override基类的函数前加上virtual后继承类即可通过override重写,通过base.function()调用基类的方法。class Program {
2020-06-23 10:23:37 255
原创 C# 连接MYSQL指南,附带增删改查操作代码
以VS为例安装与导入VS - 项目 - 管理NuGet程序包,在浏览里搜索MySql.Data并进行安装在C#文件里加入using MySql.Data.MySqlClient使用class SqlHelper { // 增、删、改操作,返回影响数据行数 public static int ExecuteNonQuery(string sql,params MySqlParameter[] parameters) { .
2020-06-18 19:13:44 486
原创 mysql 用source导入sql脚本报错ASCII appeared in the statement, but this is not allowed unless op
解决方式:用cmd打开而不是powershell用记事本打开sql脚本,另存为,同时把编码方式改为UTF-8即可
2020-06-18 14:55:24 2273
原创 mysql 8.0安装教程
下载mysql:https://dev.mysql.com/downloads/mysql/下载好后解压得到文件夹,放到自己选的位置就是安装目录了(我的是E:\Apps\mysql-8.0.20-winx64):打开这个文件夹新建data文件夹和mysql.ini配置文件:用记事本打开配置文件写上(自己该安装路径):[mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设置3306端口port = 3306
2020-06-18 11:23:45 350
原创 Unity textMeshpro 显示中文设置
UI内的text很多时间满足不了需求,3D下的textMeshpro却默认不支持中文。字体配置通过下面这个(.asset文件)完成,默认的那个不支持中文:我们需要自己做一个:下面需要两个文件,msyh通过C:\Windows\Fonts里面复制一个(eg.微软雅黑)到项目目录下生成,一般需要很久时间处理。zh-ch是一个txt文档,一个拥有大部分汉字的文档,完成后按generate后再save一下就生成好了.asset文件。当然你们实在不行的话我有现成的。。链接:https://pan.
2020-06-17 19:26:52 23724 20
原创 Unity相关安装
下载Unity Hub和Unity我是网上找的2019 pro破解版下载vscode,并安装unity包:设置Unity默认ide:(Edit - Preference - Extennal Tools - Extennal Script Editor)
2020-06-16 20:28:46 203
原创 windows 右键新建菜单添加分项(.md为例)
先保证你用typora打开过.md文件,并设置默认打开方式:运行注册表:地址栏输入计算机\HKEY_CLASSES_ROOT\.md\ShellNew,后新建字符串值:名称NullFile,数据typora.md:关闭后就可以看到效果了:
2020-06-15 12:29:44 306
原创 XML文件格式化 python
def indent(elem, level=0): i = "\n" + level*"\t" if len(elem): if not elem.text or not elem.text.strip(): elem.text = i + "\t" if not elem.tail or not elem.tail.strip(): elem.tail = i for elem in elem
2020-06-10 15:52:15 617 1
原创 无敌面经
目录计算机网络get请求和post请求的区别在浏览器网址输入一个url后直到浏览器显示页面的过程tcp过程TCP的四种拥塞控制算法(拥塞窗口cwnd,门限ssthresh)七层OSI模型或TCP/IP协议模型(各层分别实现了什么协议)https和http的区别tcp和udp的区别操作系统线程和进程、协程的区别进程和线程的通信方式进程的调度算法虚拟内存及其实现方法分页,分段,段页的区别操作系统的作用...
2020-06-07 11:51:43 325
原创 python 爬取过往天气,绘制柱状图
import requestsfrom bs4 import BeautifulSoupfrom matplotlib import pyplot as pltimport numpy as np# 获取目标链接的html文件def getHtml(url): res = requests.get(url, timeout=2, headers={'User-Agent': 'Baiduspider'}) encode = res.encoding s = res.co
2020-06-07 11:46:39 1872 1
原创 python爬虫 BeautifulSoup
导入库:import requestsfrom bs4 import BeautifulSoup获取html文件:def getHtml(url): res = requests.get(url,timeout=2,headers={'User-Agent':'Baiduspider'}) encode = res.encoding s=res.content s.decode(encode) return s生成实例: html = getHt
2020-06-06 21:46:15 290
原创 requests.get中文显示乱码解决方法
def getHtml(url): res = requests.get(url,timeout=2,headers={'User-Agent':'Baiduspider'}) return res.texthtml = getHtml('http://tianqi.eastday.com/jinhua_history/58549_202001.html')bs = BeautifulSoup(html,"html.parser")print(bs.prettify())显示乱
2020-06-06 21:13:13 3846
原创 P1966 火柴排队(数学)
https://www.luogu.com.cn/problem/P1966题意:给出两个序列,要求操作后∑i=1n(ai−bi)2\sum_{i=1}^n(a_i-b_i)^2∑i=1n(ai−bi)2最小。每次可以交换一个序列的相邻的两个数。求最小交换数模1e8−31e8-31e8−3解析:转换一下式子:∑i=1n(ai−bi)2=∑i=1nai2+bi2−2aibi\sum_{i=1}^n(a_i-b_i)^2=\sum_{i=1}^na_i^2+b_i^2-2a_ib_ii=1∑n
2020-06-04 15:17:28 237
mnist手写数字数字集
2019-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人