xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 8.63MB
    文件類型: .7z
    金幣: 1
    下載: 0 次
    發布日期: 2023-08-22
  • 語言: 其他
  • 標簽: Unity3d??C#??Manager??

資源簡介

在圖片上繪制顏色,可實現畫筆功能和刮刮樂效果,工程里有DEMO直接使用就行了,,,Demo是我用來給客戶看效果的,做了就分享下!

資源截圖

代碼片段和文件信息

using?UnityEngine;

namespace?FreeDraw
{
????//?1.?將其附加到讀/寫的sprite圖像上
????//?2.?將繪圖層設置為在光線投射中使用
????//?3.?將繪圖層設置為在光線投射中使用
????//?4.?按住鼠標左鍵畫出這個紋理!
????public?class?Drawable?:?MonoBehaviour
????{
????????[Tooltip(“彩筆顏色【橡皮擦就是透明彩筆】“)]?
????????public?Color?Pen_Colour?=?new?Color(255f?255f?255f?0f);
????????[Tooltip(“鋼筆寬度(實際上,它是一個半徑,以像素為單位)“)]
????????public?int?Pen_Width?=?20;
????????[Tooltip(“圖層面板“)]
????????public?layerMask?Drawing_layers;

????????//?在Unity的文件編輯器中必須有讀/寫權限
????????Sprite?drawable_sprite;
????????Texture2D?drawable_texture;

????????Vector2?previous_drag_position;
????????Color[]?clean_colours_array;
????????Color?transparent;
????????Color32[]?cur_colors;
????????bool?mouse_was_previously_held_down?=?false;
????????bool?no_drawing_on_current_drag?=?false;


????????void?Awake()
????????{
????????????drawable_sprite?=?this.GetComponent().sprite;
????????????drawable_texture?=?drawable_sprite.texture;

????????????//?保存圖片所有顏色
????????????clean_colours_array?=?drawable_texture.GetPixels(0?0?1920?1080);

????????}


????????void?Update()
????????{
????????????//?用戶按住鼠標左鍵嗎?
????????????bool?mouse_held_down?=?Input.GetMouseButton(0);
????????????if?(mouse_held_down?&&?!no_drawing_on_current_drag)
????????????{
????????????????//?將鼠標坐標轉換為世界坐標
????????????????Vector2?mouse_world_position?=?Camera.main.ScreenToWorldPoint(Input.mousePosition);

????????????????//?檢查當前鼠標位置是否與我們的圖像重疊
????????????????Collider2D?hit?=?Physics2D.OverlapPoint(mouse_world_position?Drawing_layers.value);
????????????????if?(hit?!=?null?&&?hit.transform?!=?null)
????????????????????//?我們已經超越了我們所描繪的紋理!改變像素的顏色
????????????????????ChangeColourAtPoint(mouse_world_position);
????????????????else
????????????????{
????????????????????//?我們還沒有結束我們的目標紋理
????????????????????previous_drag_position?=?Vector2.zero;
????????????????????if?(!mouse_was_previously_held_down)
????????????????????{
????????????????????????//這是一個新的拖動用戶在畫布上點擊離開
????????????????????????//在新的阻力開始之前,確保不會發生繪圖
????????????????????????no_drawing_on_current_drag?=?true;
????????????????????}
????????????????}
????????????}
????????????//?鼠標釋放
????????????else?if?(!mouse_held_down)
????????????{
????????????????previous_drag_position?=?Vector2.zero;
????????????????no_drawing_on_current_drag?=?false;
????????????}
????????????mouse_was_previously_held_down?=?mouse_held_down;
????????}


????????//?在世界坐標中傳遞一個點
????????//?改變世界周圍的像素點指向靜態的鋼筆顏色
????????public?void?ChangeColourAtPoint(Vector2?world_point)
????????{
????????????//?改變坐標到這個圖像的局部坐標
????????????Vector3?local_pos?=?transform.InverseTransformPoint(world_point);

????????????//?將這些轉換為像素坐標
????????????float?pixelWidth?=?drawable_sprite.rect.width;
????????????float?pixelHeight?=?drawable_sprite.rect.height;
????????????float?unitsToPixels?=?pixelWidth?/?drawable_sprite.bounds.size.x?*?transform.localScale.x;

????????????//?需要把我們的坐標居中
????????????f

評論

共有 條評論