【资源分享】Gmod-Expression2 - 自定义像素画生成

*作者:BUI*

可自定义制作属于你的像素画(默认为Sans)

第77行的COLOR可编辑你想要的颜色(RGB值)

1,2,3,4分别代表第77行所定义的颜色(0代表不显示)

视频地址:传送链接

  1 @name Pixel painting ByBUI
  2 @persist MAX_X MAX_Y POS:array COLOR:array Size Angle:angle STP:vector K HC
  3 runOnTick(1)
  4 if(first())
  5 {
  6     entity():propNotSolid(1)
  7     function number v2p(V:vector2)
  8     {
  9         X=V:x()+1
 10         Y=V:y()
 11         return Y*MAX_X+X
 12     }
 13     function vector2 p2v(N:number)
 14     {
 15         return vec2((K-1)%MAX_X,int((K-1)/MAX_X)  )
 16     }
 17     function vector2 maxholo(V:vector2)
 18     {
 19         local C=POS[v2p(V),number]
 20         local X=0
 21         local MAXX=10
 22         local MAXY=10
 23         local Y=0
 24         while(POS[v2p(V+vec2(0,Y)),number]==C)
 25         {
 26             X=0
 27             while(POS[v2p(V+vec2(X,Y)),number]==C&&X<=MAXX)
 28             {
 29                 X++
 30             }
 31             if(X<MAXX)
 32             {
 33                 MAXX=X
 34             }
 35             Y++
 36         }
 37         MAXY=Y
 38         return vec2(MAXX-1,MAXY-1)
 39     }
 40
 41     MAX_X=23
 42     MAX_Y=30
 43     Size=30
 44     Angle=ang(0,90,0)
 45     POS=array(
 46     0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,
 47     0,0,0,0,0,1,1,2,2,2,2,2,2,2,2,2,1,1,0,0,0,0,0,
 48     0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,
 49     0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,
 50     0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,
 51     0,0,0,1,2,2,1,1,1,2,2,2,2,2,1,1,1,2,2,1,0,0,0,
 52     0,0,0,1,2,2,1,1,1,2,2,2,2,2,1,1,1,2,2,1,0,0,0,
 53     0,0,0,1,2,2,1,1,1,2,2,1,2,2,1,1,1,2,2,1,0,0,0,
 54     0,0,0,0,1,2,2,2,2,2,1,1,1,2,2,2,2,2,1,0,0,0,0,
 55     0,0,0,1,1,2,1,2,2,2,2,2,2,2,2,2,1,2,1,1,0,0,0,
 56     0,0,0,1,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,0,0,0,
 57     0,0,0,1,2,2,2,1,2,1,2,1,2,1,2,1,2,2,2,1,0,0,0,
 58     0,0,0,0,1,1,2,2,1,1,1,1,1,1,1,2,2,1,1,0,0,0,0,
 59     0,0,0,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,0,0,0,
 60     0,0,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,0,0,
 61     0,1,1,3,1,4,4,1,2,2,2,1,2,2,2,1,4,4,1,3,1,1,0,
 62     0,1,3,3,3,1,4,4,1,1,1,2,1,1,1,4,4,1,3,3,3,1,0,
 63     1,3,3,1,1,3,1,1,1,2,2,1,2,2,1,1,1,3,1,1,3,3,1,
 64     1,3,3,3,3,1,3,3,1,2,2,2,2,2,1,3,3,1,3,3,3,3,1,
 65     1,3,3,3,3,3,1,3,1,1,2,2,2,1,1,3,1,3,3,3,3,3,1,
 66     0,1,3,3,3,1,3,3,1,2,2,2,2,2,1,3,3,1,3,3,3,1,0,
 67     0,0,1,1,3,1,3,3,1,1,1,1,1,1,1,3,3,1,3,1,1,0,0,
 68     0,0,0,1,1,1,3,3,1,1,1,1,1,1,1,3,3,1,1,1,0,0,0,
 69     0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,
 70     0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,
 71     0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,
 72     0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,
 73     0,0,1,1,1,2,2,2,2,1,0,0,0,1,2,2,2,2,1,1,1,0,0,
 74     0,0,1,2,2,2,2,2,1,1,0,0,0,1,1,2,2,2,2,2,1,0,0,
 75     0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0
 76     )
 77     COLOR=array(vec(0),vec(255),vec(0,176,255),vec(211))
 78     STP=entity():pos()+(Angle:up()*(MAX_Y)+Angle:right()*(-MAX_X/2+0.5))*Size
 79     K=0
 80     holoCreate(1)
 81     holoPos(1,entity():pos())
 82     holoAlpha(1,0)
 83     HC=1
 84 }
 85 if(holoCanCreate()&&HC<=250&&K<=MAX_X*MAX_Y)
 86 {
 87     K++
 88     if(POS[K,number])
 89     {
 90         local VV=p2v(K)
 91         local HV=maxholo(VV)
 92         local V=STP+(Angle:right()*(VV:x()+HV:x()/2)+Angle:up()*(-VV:y()-HV:y()/2))*Size
 93         HC++
 94         holoCreate(HC)
 95         holoModel(HC,"models/hunter/blocks/cube4x4x4.mdl")
 96         holoMaterial(HC,"models/debug/debugwhite")
 97         holoScale(HC,vec(Size,Size*(1+HV:x()),Size*(1+HV:y()))/holoEntity(HC):boxSize())
 98         holoPos(HC,V)
 99         holoAng(HC,Angle)
100         holoDisableShading(HC,1)
101         holoShadow(HC,0)
102         holoColor(HC,COLOR[POS[K,number],vector])
103         holoParent(HC,1)
104         for(I=0,HV:y())
105         {
106             for(J=0,HV:x())
107             {
108                 POS[v2p(VV+vec2(J,I)),number]=0
109             }
110         }
111         #print(HC)
112     }
113 }
114 if(K>MAX_X*MAX_Y&&1)
115 {
116     findByClass("player")
117     P=findClosest(entity():pos())
118     A=(P:pos()-entity():pos()):toAngle()
119     holoAng(1,ang(0,A:yaw()+90,0))
120
121
122
123
124
125 }

浏览代码

供学习使用,切勿未经作者BUI同意私自外流代码。

原文地址:https://www.cnblogs.com/fBuX/p/10055020.html

时间: 2024-08-30 11:50:36

【资源分享】Gmod-Expression2 - 自定义像素画生成的相关文章

Android开发工程师应该知道的50个开发秘诀、技巧和资源分享

作者撰写本文的初衷,是为了罗列出Android Studio有用的提示.技巧.快捷方式和参考资源,将提高您的整体效率和操作性能. 显然,还有很多优化.快捷方式等,但作者为了保持这篇文章的简短,限制为50个,希望读者会喜欢这篇文章! InfoQ注:本文是以MacOS X操作Android Studio为例,与Windows / Linux不一致的地方已经标注,请读者注意这一点. 可视化 1.Android Logcat的材料颜色主题(Material Colors theme). 要更改Andro

十五. 资源指标API以及自定义指标API

目录 资源指标: Metrics-Server 资源指标: Metric-Server介绍 Metric-Server部署 下载yaml文件 因为有墙, 所以提前下载image镜像, 当然也可以手动修改yaml相关文件 修改文件, 不然报错 创建Metric-Server 自定义资源指标: Prometheus k8s-prometheus-adapter 项目 Prometheus 在k8s集群中部署Prometheus github地址 需要部署的服务清单 安装部署所有服务及插件 部署kub

程小元像素画小程序,持续维护中..

最近无意之间,发现了一波非常精致的像素画作品.以至于自己有点沉迷其中,于是,索性用几天时间做一个出来. 下面先来欣赏一几张大师的作品: 目前像素画主要用于与一些复古的游戏场景和游戏角色,还有一个创意海报等等.像素化图,也是一种艺术形式,风靡至今. 好吧,废话不多说了. 我的微信小程序:程小元像素画 上面两张图,是目前的两个模块:1.像素画板 2.大师作品 简单的画几笔,就能生成自己的像素画作品.目前第一个版本,比较简单.后面抽时间继续完善.昨天第一天上线,收到了很多用户发来的作品图,还有下一个版

超人学院Hadoop大数据资源分享

超人学院Hadoop大数据资源分享-----数据结构与算法(java解密版) http://yunpan.cn/cw5avckz8fByJ  访问密码 b0f8 更多精彩内容请关注:http://bbs.superwu.cn 关注超人学院微信二维码:  关注超人学院java免费学习交流群: 

资源分享

发现下面网站: http://www.digitalfanatics.org/projects/qt_tutorial/ 非常适合Qt入门. 进一步发现http://www.digitalfanatics.org/网站有很多好玩的东西, 就是不知道国内能否上. 最让我惊奇的居然有Web版的EDA工具,看来未来真是网页的天下了. youtube也有很多免费的Qt与C++教学视频,可惜国内不方便上.还是希望国内改进过滤技术,早点能方便大家访问技术资料. 资源分享,布布扣,bubuko.com

dedecms:自定义文章文件名生成目录形式的方法

在DEDECMS中,发布文章时可以自定义文件名,生成譬如:xxx.com/a/zidingyi.html 的URL文件 然而如果想将文章生成为目录形式呢?譬如:xxx.com/a/zidingyi/index.html 只需要简单一步即可搞定. 涉及文件: include/helpers/channelunit.helper.php  189行 $articleRule = dirname($articleRule).'/'.$filename.$GLOBALS['cfg_df_ext']; 改

ReportMachine 自定义代码 画细线

ReportMachine 自定义代码 画细线 procedure Memo3_OnBeforePrint(Sender: TObject); begin Memo3.Text := inttostr(Footer1.Top); Memo4.Text := inttostr(MasterData1.datasetName); Diagonal1.height :=(15-strtoint(MasterData1.datasetName))*20; end; 数据集下面填充斜线 procedure

优质IT资源分享社区www.itziyuan.top

你好,我是“优质IT资源分享社区(www.itziyuan.top)”的建设者,同时也是一名普通的IT的热爱者. 首先,我介绍一下网站所收录的教程分类: 基础编程语言: C,C++,C#,Java,Php,.Net,Swift,Python,Delphi,Qt,汇编语言等: 移动开发: Android开发,iOS开发,微信开发,Html5手游开发: 前端开发: Html,Css,Js,前端开发框架等: 后端开发: Php,Python,Node.js,J2EE,Asp.net,Ruby等: 数据

云计算资源分享与下载

一. 摘要 自从上一篇实战第一个云程序之后,我就没有再发布云计算相关的文章,这些天重新整理了一下草稿箱,发现这个系列有很多篇都存了大半年了,一直没有整理发布出来,今天就先发布这篇"云计算资源分享与下载",希望能给大家带来一些参考和帮助.这篇文章对于学习系统学习云计算有很好的指导作用,尤其是大量的书籍.视频和相关社区网站的介绍,但是由于我比较热衷于微软的Azure平台的研究和推广,针对其他厂商的云计算产品,我只是很粗浅的了解了其概念及简单使用,并没有做深入的研究,所以如果后续发布的云计算