PHP中Apache的虚拟目录设置

之前做PHP,一直用的UwAmp这种工具,傻瓜式的创建虚拟目录,一直没看过到底是怎样一回事。好久没玩PHP了,今天更换了XAMPP,于是看了一下虚拟目录的生成,发现挺简单的。

httpd.conf最后加入如下代码即可:

<VirtualHost *:81>
# Generate Virtual Host
	DocumentRoot "C:\wwwroot\"
	ServerName "localhost"
</VirtualHost>

Git教程:本地代码推送至Git服务器

有时候我们不只是会在[email protected]或者Github上新建项目,然后clone到本地,也有可能是本地已经用Git提交过,然后需要推送至服务器上,这边文章会告诉你该怎么做。

首先,我们需要生成SSH-KEY,在Git Bash中,输入ssh-keygen,然后输入保存地址以及密码。

生成的.pub文件,用记事本打开,复制里面的内容,添加到Git平台的SSH公钥中,具体方法参考各平台说明。

这里假设,你已有本地仓库,且已提交过,并且在Git平台上已创建项目,那么开始添加远程地址:

git remote add origin https://github.com/yourID/repoName.git

红色字代表你的远程仓库地址

然后如果Git平台给你智能生成过gitignore文件的话,那需要先用下面命令pull一次

git pull origin master

之后,就可以push了

git push -u origin master

这样,你本地的代码仓库就会同步至Git平台了

Unity3D制作2D魔塔游戏一:准备工作

《魔塔》是一种数值类益智游戏,最早在文曲星上玩过,一直特别喜欢。在开始学用Unity3D做游戏后,考虑做一个RPG游戏,于是准备从魔塔这个游戏入手。之所以选魔塔,是因为魔塔比较简单,涉及的系统相对较少,为RPG做准备,一步一步来。

在最开始制作的时候,使用的是Unity4.6,随后升级到了Unity5。我在蛮牛上看到过制作魔塔的视频教程,制作方法跟我的不一样,个人觉得我的方法也是有很多可取之处的。这次开源的版本是第二版,已经足够稳定,没有发现残余BUG,只是有一些功能并没有加入。在制作的过程中,我使用到了许多插件,我造的轮子不一定有他们的好,又何必自己造呢?另外,我的魔塔是竖屏的,可以在最上面放一条广告(虽然很多人吐槽,不过程序员也需要吃饭啊…Orz)。

首先介绍下需要用到的插件,我这里不提供下载,相信大家能够自己解决的。

  1. HOTWEEN

  2. plyGame中的DiaQ

  3. Rotorz Tile System

  4. EasyTouch

  5. EasySave

使用HOTWEEN来处理主角的移动,DiaQ来处理对话系统,Rotorz来制作格子地图,EasyTouch用来处理触摸操作,EasySave用来处理存档系统。

整个魔塔我主要分为了8个脚本来控制:

  1. 主角操作

  2. 动作管理

  3. 声音管理

  4. 对话管理

  5. 游戏数据管理

  6. 游戏逻辑管理

  7. 任务管理

  8. 地图管理

下一篇博客会从主角的操作开始,逐一介绍魔塔的制作方法。

素材地址:http://pan.baidu.com/s/1c04j8Q0  密码:9ix3

如何关闭Visual Studio的实时调试

最近的使用中,偶尔会出现VS自动打开并询问是否进行调试的对话框。

由于之前出现次数较少,我也没有管。但今天升级完Windows 10之后,出现的太频繁了,于是找了一下原因,发现是VS的实时调试功能。

可以在VS设置中关闭实时调试功能,来禁用这些调试,禁用后就不会在弹出这个提示。

  1. 在“工具”菜单上单击“选项”。

  2. 在“选项”对话框中选择“调试”文件夹。

  3. 在“调试”文件夹中选择“实时”页。

  4. 在“启用这些代码类型的实时调试”框中,取消勾选:“托管”、“本机”或“脚本”。

  5. 单击“确定”。

UEditor中JS代码(script标签)被过滤的解决办法

作为一个程序员的博客,在文章中经常会插入各种代码,大部分代码都不会发生问题,但Div和Script标签是经常会被使用到的。

而在之前的文章编写过程中,插入JS代码后,第一次文章会显示正常,而之后在后台编辑器中便只会显示执行过的JS代码,相当于JS代码被过滤掉了。今天研究了一下这个问题,发现解决办法很简单。

我们在插入代码后,源码模式下,看起来是正常的,但是为什么保存完之后,数据库中正常,但是编辑器中不正常呢?

很多富文本编辑器都有两种初始化方式,以UEditor为例,一种是textarea标签,一种是script标签。

textarea方式:

<textarea id="container" name="content">
    这里写你的初始化内容
</script>
<script type="text/javascript" src="ueditor.config.js"></script>
<script type="text/javascript" src="ueditor.all.js"></script>
<script type="text/javascript">
    var ue = UE.getEditor('container');
</textarea>

script方式:

<script id="container" name="content" type="text/plain">
    这里写你的初始化内容
</script>
<script type="text/javascript" src="ueditor.config.js"></script>
<script type="text/javascript" src="ueditor.all.js"></script>
<script type="text/javascript">
    var ue = UE.getEditor('container');
</script>

两种方式的区别也只在于容器,我之前一直使用的是textarea方式,因为当时UEditor的script方式有一些小问题。

在今天寻找过滤问题的解决办法时,想了很多办法,看别人的配置文件等,但终究没解决。在不断搜索中,打开UEditor之前的帮助文档,现在官网已经去除了该旧文档的链接,在该文档中看到了这样一个问题:

大部分编辑器的容器都使用textarea,为什么UEditor采用了很特殊的script标签?

答:首先要说明一点的是,UEditor也支持textarea标签作为编辑器的外围容器,只要将对应的标签名字换成textarea即可。除此之外,UEditor还支持使用div和script标签作为其容器。之所以要这样做,只是为了尽最大可能去满足和适应用户的各种不同需求。官方推荐使用script标签的原因是textarea会在提交数据的时候自动对里面的部分html文本进行一次特殊字符转义,从而导致有些不熟悉的用户在再编辑的时候出现编码混乱的问题。而使用script标签可以很好地克服这个缺点。

里面提到了“官方推荐使用script标签的原因是textarea会在提交数据的时候自动对里面的部分html文本进行一次特殊字符转义”,看到这句话后豁然开朗,一切问题的根源都在于容器标签而已,将容器标签修改为script后,一切都正常了。