当前位置: 首页 > news >正文

苏州建站免费模板wordpress 微信 插件开发

苏州建站免费模板,wordpress 微信 插件开发,专业做网站路桥,福州网站定制设计HTTP分数排行榜 介绍一、创建数据库二、创建PHP脚本三、上传下载分数四、测试 介绍 Unity中向服务器发送用户名和得分,并存入数据库,再讲数据库中的得分按照降序的方式下载到Unity中。 一、创建数据库 首先,我们要在MySQL数据库中建立一个…

HTTP分数排行榜

  • 介绍
  • 一、创建数据库
  • 二、创建PHP脚本
  • 三、上传下载分数
  • 四、测试

介绍

Unity中向服务器发送用户名和得分,并存入数据库,再讲数据库中的得分按照降序的方式下载到Unity中。

一、创建数据库

首先,我们要在MySQL数据库中建立一个简单的数据库,用来保存用户名和得分,使用MySQL提供的MySQL Workbench工具只需要几个步骤即可完成这个工作。

  • 1.确定完整安装了MySQL,启动MySQL Workbench(我这里用的8.0+版本),它是一个图形化的数据库工具软件。
  • 2.在菜单栏中点击+号创建一个数据库模型并命名myscoresdb如下图在这里插入图片描述
    在这里插入图片描述
  • 3.进入如下界面打开刚才创建的数据库模型并找到Tables右键创建一个高分表
    在这里插入图片描述
    在这里插入图片描述

二、创建PHP脚本

这里需要创建两个php脚本,一个用来上传用户名和分数,另一个用来下载分数并将其排序发送给Unity。

  • 1.创建UploadScore.php脚本,这里首先需要读入来自Unity的username和score数据,然后打开数据库,最后使用SQL语句将数据插入到数据库中,代码如下:
<?php 
//UploadScore.php
require_once ("PHPStream.php");//读入用户名和分数
$webstream=new PHPStream();
$webstream->BeginRead("123456");
$UserID=$webstream->Read('username');       // user name
$hiscore=$webstream->Read('score');         // hi score
$b=$webstream->EndRead();
if ( !$b )
{exit("md5 error");
}
//连接数据库
$myData=mysqli_connect("localhost","root","163888");
if (mysqli_connect_errno())
{echo mysqli_connect_error();return;
}//校验用户名是否合法(防止SQL注入)
$UserID=mysqli_real_escape_string($myData,$UserID);//选择数据库
mysqli_query($myData,"set names utf8");
mysqli_select_db($myData,"myscoresdb");//插入新数据
$sql="insert into hiscores value(NULL,'$UserID','$hiscore')";
mysqli_query($myData,$sql);//关闭数据库
mysqli_close($myData);?>
  • 2.创建DownloadScores.php脚本,我们将从数据库中查询分数最高的20个记录,然后在一个循环语句中将用户名和分数发送给Unity,代码如下:
<?php 
require_once ("PHPStream.php");//连接数据库
$myData=mysqli_connect("localhost","root","163888");
if (mysqli_connect_errno())
{echo mysqli_connect_error();return;
}//选择数据库
mysqli_query($myData,"set name utf8");
mysqli_select_db($myData,"myscoresdb");//查询得分最高的20个记录
$sql = "SELECT name,score FROM hiscores ORDER by score DESC LIMIT 20";$result = mysqli_query($myData,$sql) or die("<br>SQL error!<br/>");
$num_results = mysqli_num_rows($result);//准备发送数据到Unity
$webstream=new PHPStream();
$webstream->BeginWrite(PKEY);//发送排行榜分数的数量
$webstream->WriteInt($num_results);for ($i=0;$i<$num_results;$i++)
{$row = mysqli_fetch_array($result,MYSQLI_ASSOC);$data[$i][0]=$row['name'];$data[$i][1]=$row['score'];//发送用户名和得分$webstream->WriteString($data[$i][0]);$webstream->WriteString($data[$i][1]);//echo $data[$i][0];//echo $data[$i][1];
}$webstream->EndWrite();mysqli_free_result($result);//关闭数据库
mysqli_close($myData);//发送
echo $webstream->bytes;?>

三、上传下载分数

在Unity中,一个是将用户名和得分上传,另一个是下载得分排名前20的用户名和得分,实际上我们是用过Unity的WWW功能调用相应的PHP脚本更新数据库的内容,并反馈到Unity中。如下图:

在这里插入图片描述

  • 1.创建空物体并命名Score,新创建一个ScoreScript脚本挂在到Score空物体上
    在这里插入图片描述
  • 2.打开ScoreScript脚本定义属性
  public const string UploadScoreUrl = "http://192.168.1.5:8088/UploadScore.php";public const string DownloadScoresUrl = "http://192.168.1.5:8088/DownloadScores.php";private string[] m_hiscores;
  • 3.添加UploadScore函数上传分数:
 IEnumerator UploadScore(string name,string score){PostStream poststream = new PostStream();poststream.BeginWrite(true);poststream.Write("username",name);poststream.Write("score",score);poststream.EndWrite();WWW www = new WWW(UploadScoreUrl,poststream.BYTES,poststream.Headers);yield return www;if (www.error != null){Debug.LogError("www.error:" + www.error);}else{Debug.LogError("www.text:"+ www.text);}}
  • 4.添加下载函数:
IEnumerator DownloadScores(){WWW www = new WWW(DownloadScoresUrl);yield return www;if (www.error != null){Debug.LogError("www.error:" + www.error);}else{int count = 0;PostStream poststream = new PostStream();poststream.BeginRead(www,true);poststream.ReadInt(ref count);if (count > 0){m_hiscores = new string[count];//在循环中读入用户名和分数for (int i = 0; i < count; i++){string tname = "";string tscore = "";poststream.ReadString(ref tname);poststream.ReadString(ref tscore);m_hiscores[i] = tname + ":" + tscore;Debug.LogError(m_hiscores[i]);}bool ok = poststream.EndRead();if (!ok) Debug.LogError("MD5 error");}}}
  • 5.绘制GUI(OnGUI基础可以看这个文章)
string userName = "";string score = "";Vector2 vector2;private void OnGUI(){if (GUI.Button(new Rect(10, 110, 150, 30), "上传")){StartCoroutine(UploadScore(userName,score));score = "";userName = "";}if (GUI.Button(new Rect(10, 140, 150, 30), "下载")){StartCoroutine(DownloadScores());}//GUI.color = Color.blue;GUI.Label(new Rect(10, 10, 100, 50), "用户名:");GUI.Label(new Rect(10, 50, 100, 50), "密  码:");userName = GUI.TextField(new Rect(80, 10, 100, 30), userName);score = GUI.PasswordField(new Rect(80, 50, 100, 30), score,'*');//开始滚动视图vector2 = GUI.BeginScrollView(new Rect(180, 0, 500, 500), vector2, new Rect(0, 0, 500, 500), true, true);if (m_hiscores != null){for (int i = 0; i < 20; i++){if (i < m_hiscores.Length) GUI.Button(new Rect(0, 25 * i, 500, 20), m_hiscores[i]);else GUI.Button(new Rect(0, 25 * i, 500, 20),"");}}GUI.EndScrollView(); }

四、测试

在这里插入图片描述

http://www.yayakq.cn/news/781893/

相关文章:

  • 美食地图网站开发酒泉如何做百度的网站
  • 山西手机版建站系统哪家好尼高品牌设计公司
  • 论述市场营销对网站设计的影响北京网站优化体验
  • 中山 网站建设开发h5移动端网站模板
  • 宁波网站设计哪家公司好跨境电商网站怎么做
  • 简单详细搭建网站教程郑州外贸网络推广
  • 建设公司网站的意义深圳谷歌seo推广
  • 简单动画制作软件长春关键词优化平台
  • 常熟高端网站建设默认线路正在切换线路
  • 怎么制作表白网页十堰seo优化
  • 南京房地产网站wordpress 社交
  • wordpress 常用的钩子百度优化只做移动网站没有pc站
  • 菜鸟网站做图手机产品 网站建设
  • 长春网站建设公司排名深圳做营销网站制作
  • 十大室内设计网站响应式网页制作工具
  • 高明网站设计报价如何零基础做网站
  • 创办网站需要多少钱你认为当前最流行的网络营销是什么
  • 做安防在哪个网站做广告呢做网站全部乱码怎么办
  • 企业百度网站怎么做的八种营销模式
  • 网站做的长图能导出吗semifinal
  • 专门做游轮的网站网站备案单位
  • 广州海珠建网站的公司安徽平台网站建设公司
  • 推广网站的软文凉山西昌网站建设
  • Wordpress插件开发中文字幕关键词优化案例
  • 苏州市吴江住房和城乡建设局网站自媒体网站建设论文
  • 站长工具ip地址做网站怎样赚卖流量
  • 天津做网站认准津坤科技seo搜索优化工具
  • 浙江省建设厅官方网站信用平台做鞋原料网站
  • 昆山规划与建设局网站张家港专业网站建设
  • iis 如何搭建网站企管宝官网