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

招商网站的建设目的成都网站建设公司服务商

招商网站的建设目的,成都网站建设公司服务商,外贸seo业务员招聘,东莞住建局官网网站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/580093/

相关文章:

  • idc网站模板 dede做海报哪个网站的素材多
  • 如何开发微信微网站搭建一个自己的网站
  • 获取网站缩略图品牌建设的六个步骤
  • 求一个做美食视频的网站app研发风险
  • 有什么网站可以做婚庆视频素材网页请求流程
  • 企业网站建设课程设计调用wordpress媒体库
  • 潍坊地区制作网站网站建设和优化的步骤
  • 有关网站设计与制作的论文企业网页建设
  • 宁波商城网站建设网站开发前后端分离
  • 浙江网站seodw怎么做单页网站
  • 网络网站建设公司如何写网页
  • 最专业的医疗网站建设网站建设线框图
  • 自己做网站 需要服务器吗有没有做任务的网站
  • 脑卒中中心建设网站网站源代码下载
  • 寻乌网站建设传奇做网站
  • 网站做线建设网站兼职
  • 建站推广哪里有建站新闻资讯android基础入门教程
  • 北京市建设厅门户网站6去掉博客网站链接后面的wordpress
  • 百度文库怎么做网站排名河源市建设厅网站
  • 做网站的功能是什么怎么做游戏门户网站
  • 网站备案证件wordpress referer
  • 网站建设购买站长之家ip地址查询
  • 做阿里巴巴网站有什么用网站手机版怎么做的
  • 企业网站实名制网上商城是什么意思
  • 棋牌网站建设源码做网站后台要学
  • 10大设计师网站企业年报网上申报入口免费官方
  • wordpress淘宝客网站运营wordpress 根据ua跳转
  • 网站开发流程 ppt青岛市崂山区建设局网站
  • 国外优秀画册设计网站哪里可以学家装设计师
  • 想要去国外网站买东西怎么做企业网站建设的定位