码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-12-02 20:39:46      阅读:523      评论:0      收藏:0      [点我收藏+]

标签:name   地址   img   code   creat   int   ble   alpha   under   

*作者: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同意私自外流代码。

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

标签:name   地址   img   code   creat   int   ble   alpha   under   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!