【资源分享】Gmod-Expression2 - 自定义像素画生成
*作者:BUI*




可自定义制作属于你的像素画(默认为Sans)
第77行的COLOR可编辑你想要的颜色(RGB值)
1,2,3,4分别代表第77行所定义的颜色(0代表不显示)
视频地址:传送链接
@name Pixel painting ByBUI
@persist MAX_X MAX_Y POS:array COLOR:array Size Angle:angle STP:vector K HC
runOnTick(1)
if(first())
{
entity():propNotSolid(1)
function number v2p(V:vector2)
{
X=V:x()+1
Y=V:y()
return Y*MAX_X+X
}
function vector2 p2v(N:number)
{
return vec2((K-1)%MAX_X,int((K-1)/MAX_X) )
}
function vector2 maxholo(V:vector2)
{
local C=POS[v2p(V),number]
local X=0
local MAXX=10
local MAXY=10
local Y=0
while(POS[v2p(V+vec2(0,Y)),number]==C)
{
X=0
while(POS[v2p(V+vec2(X,Y)),number]==C&&X<=MAXX)
{
X++
}
if(X<MAXX)
{
MAXX=X
}
Y++
}
MAXY=Y
return vec2(MAXX-1,MAXY-1)
} MAX_X=23
MAX_Y=30
Size=30
Angle=ang(0,90,0)
POS=array(
0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,
0,0,0,0,0,1,1,2,2,2,2,2,2,2,2,2,1,1,0,0,0,0,0,
0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,
0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,
0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,
0,0,0,1,2,2,1,1,1,2,2,2,2,2,1,1,1,2,2,1,0,0,0,
0,0,0,1,2,2,1,1,1,2,2,2,2,2,1,1,1,2,2,1,0,0,0,
0,0,0,1,2,2,1,1,1,2,2,1,2,2,1,1,1,2,2,1,0,0,0,
0,0,0,0,1,2,2,2,2,2,1,1,1,2,2,2,2,2,1,0,0,0,0,
0,0,0,1,1,2,1,2,2,2,2,2,2,2,2,2,1,2,1,1,0,0,0,
0,0,0,1,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,0,0,0,
0,0,0,1,2,2,2,1,2,1,2,1,2,1,2,1,2,2,2,1,0,0,0,
0,0,0,0,1,1,2,2,1,1,1,1,1,1,1,2,2,1,1,0,0,0,0,
0,0,0,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,0,0,0,
0,0,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,0,0,
0,1,1,3,1,4,4,1,2,2,2,1,2,2,2,1,4,4,1,3,1,1,0,
0,1,3,3,3,1,4,4,1,1,1,2,1,1,1,4,4,1,3,3,3,1,0,
1,3,3,1,1,3,1,1,1,2,2,1,2,2,1,1,1,3,1,1,3,3,1,
1,3,3,3,3,1,3,3,1,2,2,2,2,2,1,3,3,1,3,3,3,3,1,
1,3,3,3,3,3,1,3,1,1,2,2,2,1,1,3,1,3,3,3,3,3,1,
0,1,3,3,3,1,3,3,1,2,2,2,2,2,1,3,3,1,3,3,3,1,0,
0,0,1,1,3,1,3,3,1,1,1,1,1,1,1,3,3,1,3,1,1,0,0,
0,0,0,1,1,1,3,3,1,1,1,1,1,1,1,3,3,1,1,1,0,0,0,
0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,
0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,
0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,
0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,
0,0,1,1,1,2,2,2,2,1,0,0,0,1,2,2,2,2,1,1,1,0,0,
0,0,1,2,2,2,2,2,1,1,0,0,0,1,1,2,2,2,2,2,1,0,0,
0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0
)
COLOR=array(vec(0),vec(255),vec(0,176,255),vec(211))
STP=entity():pos()+(Angle:up()*(MAX_Y)+Angle:right()*(-MAX_X/2+0.5))*Size
K=0
holoCreate(1)
holoPos(1,entity():pos())
holoAlpha(1,0)
HC=1
}
if(holoCanCreate()&&HC<=250&&K<=MAX_X*MAX_Y)
{
K++
if(POS[K,number])
{
local VV=p2v(K)
local HV=maxholo(VV)
local V=STP+(Angle:right()*(VV:x()+HV:x()/2)+Angle:up()*(-VV:y()-HV:y()/2))*Size
HC++
holoCreate(HC)
holoModel(HC,"models/hunter/blocks/cube4x4x4.mdl")
holoMaterial(HC,"models/debug/debugwhite")
holoScale(HC,vec(Size,Size*(1+HV:x()),Size*(1+HV:y()))/holoEntity(HC):boxSize())
holoPos(HC,V)
holoAng(HC,Angle)
holoDisableShading(HC,1)
holoShadow(HC,0)
holoColor(HC,COLOR[POS[K,number],vector])
holoParent(HC,1)
for(I=0,HV:y())
{
for(J=0,HV:x())
{
POS[v2p(VV+vec2(J,I)),number]=0
}
}
#print(HC)
}
}
if(K>MAX_X*MAX_Y&&1)
{
findByClass("player")
P=findClosest(entity():pos())
A=(P:pos()-entity():pos()):toAngle()
holoAng(1,ang(0,A:yaw()+90,0)) }
浏览代码
供学习使用,切勿未经作者BUI同意私自外流代码。
【资源分享】Gmod-Expression2 - 自定义像素画生成的更多相关文章
- 实现SLIC算法生成像素画
前言 像素风最早出现在8bit的电子游戏中,受制于电脑内存大小以及显示色彩单一, 只能使用少量像素来呈现内容,却成就了不少经典的像素游戏.随着内存容量与屏幕分辨率的提升,内存与显示媒介的限制不再是问题 ...
- AsciiMorph - 新奇的 ASCII 字符画生成工具&插件
AsciiMorph 是一个新奇的 ASCII 字符画生成工具和开源插件.字符画(ASCII Art)的历史可以追溯到几十年前,起初是用在图形显示功能受限的设备上,用ASCII字符集里的可打印字符来拼 ...
- (转) 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文)
本文转自:http://mp.weixin.qq.com/s/aAHbybdbs_GtY8OyU6h5WA 专题 | 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文) 原创 201 ...
- 国外一些好用的UX/UI设计工具和资源分享
国外一些好用的UX/UI设计工具和资源分享 你今天使用的设计工具也许不再适合以后的网页和APP设计项目了.新的工具不断的推出市场,目标只有一个,让你的工作更快.更容易而且工作成效更好.今天分享的这些U ...
- 开源一款资源分享与下载工具 —— 电驴(eMule)
这里分享一款资源分享与下载工具--电驴,其实严格来说,应该叫电骡,这是我维护的版本,eMuleVeryCD版本,VeryCD是一个不错的资源分享网站:http://www.verycd.com/.大概 ...
- 微信分享网页时自定义缩略图和简介(.net版本)
要实现微信分享网页时自定义缩略图和简介,需开发者在公众平台网站中创建公众号.获取接口权限后,通过微信JS-SDK的分享接口,来实现微信分享功能. 下面来说明实现步骤. 第一部分 准备步骤 步骤一:注册 ...
- k8s系列---资源指标API及自定义指标API
不得不说千万不要随意更改版本,我用的1.13的版本,然后学到这一步时,还因yaml文件不同,卡住了很久,然后各种google才找到解决办法 https://www.linuxea.com/2112. ...
- 技术期刊 · 天光台高未百尺 | Uber 工程师的 JS 算法课;大数据时代的个人隐私;设计师的 Github;告别 PPT 工程师;从零开始实现的像素画
蒲公英 · JELLY技术期刊 Vol.42 这是一个最好的时代,多样化的平台给了所有人成长发展的机会,各种需求和解决需求的人让人大开眼界:但这也并不是完美的时代,"前端还需要懂什么算法?& ...
- 资源分享 | PyTea:不用运行代码,静态分析pytorch模型的错误
前言 本文介绍一个Pytorch模型的静态分析器 PyTea,它不需要运行代码,即可在几秒钟之内扫描分析出模型中的张量形状错误.文末附使用方法. 本文转载自机器之心 编辑:CV技 ...
随机推荐
- xmlns:android="http://schemas.android.com/apk/res/android 这句话的作用
xmlns:android="http://schemas.android.com/apk/res/android 有了这句话,你就可以alt+/作为提示,提示你输入什么,不该输入什么,什么 ...
- mybatis大于等于小于等于的写法
第一种写法(1): 原符号 < <= > >= & ' " 替换符号 < <= > >= & ' " ...
- Docker最全教程——从理论到实战(十二)
前言 Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,应用很广.本篇主要讲述Ubuntu下使用SSH远程登录并安装Docker,并且提供了Docker安装的两种方式,希望对大家有所帮 ...
- easyui只显示年月,时间格式
<div > <input id="db" /> </div> <script> /*power by showbo http:// ...
- Codeforces Round #600 (Div. 2) B. Silly Mistake
#include<iostream> #include<map> #include<set> #include<algorithm> using nam ...
- Django中content-type组件的使用
content-type组件 ContentType是Django的内置的一个应用,可以追踪项目的所有APP和model的对应关系,并记录在ContentTpe表中,当我们的项目做数据迁移后,会有很多 ...
- 记录 shell学习过程(5)continue break
1.continue ;i<;i++)) do ];then continue fi echo $i done # ./continue.sh12346789 2.break ;i<;i+ ...
- Python之路Day01
一.Python简介 Python的历史 Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生 In November 2014, it was ...
- PCB主线布线规范—高速线之DDR2
一.DDR2时钟线走线规则a)时钟线包括 MEM_CLKOUT#0.MEM_CLKOUT0.MEM_CLKOUT#1.MEM_CLKOUT1,MEM_CLKOUT#2.MEM_CLKOUT2: MEM ...
- IntelliJ IDEA 2017.3尚硅谷-----代码水平垂直
选择项目——右键