日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Unity协程截图,WWWForm、WWW配合上传

發布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity协程截图,WWWForm、WWW配合上传 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先說一下原理。。

截圖有兩種方法,第一種:

Application.CaptureScreenshot(url);

?

這個API可以截全屏并保存到指定路徑

這里我們不采用此方法

?

下面的代碼采用第二種方法,自己建一個Texture2D

這種方法靈活,操作性更高

?

WWWForm方法是用來提交到數據庫的

WWWForm wwwForm = new WWWForm();wwwForm.AddField(“Username”,name);wwwForm.AddField(“ID”,id);

WWW方法可以用來上傳和下載

//上傳
WWW www = new WWW(url,wwwForm);
//下載
WWW www = new WWW(url);
?
?
好啦,廢話不多說,下面上完整客戶端代碼
using System.IO;
using UnityEngine;
using System.Collections;public class Example : MonoBehaviour {void Start() {StartCoroutine(UploadPNG());}IEnumerator UploadPNG() {// 用協程等待屏幕渲染完成后再截圖yield return new WaitForEndOfFrame();// 創建一個Texture2D紋理用來保存截圖int width = Screen.width;int height = Screen.height;Texture2D tex = new Texture2D(width, height, TextureFormat.RGB32, false);// 將屏幕像素保存到新建的Texture2D(截圖原理)tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);tex.Apply();// 將截圖編碼為PNG格式byte[] bytes = tex.EncodeToPNG();Destroy(tex);// 使用WWWForm,往數據庫添加數據WWWForm form = new WWWForm();form.AddField("frameCount", Time.frameCount.ToString());form.AddBinaryData("fileUpload", bytes);// 使用WWW上傳form的內容WWW w = new WWW(url, form);yield return w;if (w.error != null)print(w.error);elseprint("Finished Uploading Screenshot");}
}


聲明:此博客為個人學習之用,如與其他作品雷同,純屬巧合,并請明示指出

轉載于:https://www.cnblogs.com/fws94/p/6232055.html

總結

以上是生活随笔為你收集整理的Unity协程截图,WWWForm、WWW配合上传的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。