关于kag的button的文字显示……
还是像slider一样……我说的单纯是我自己惯用的修改方式,其他人可能有不同的修改方式,本来这种东西就很自由的……我只是把这个写出来给大家一个思路参考而已……
kag的button是在current的message层上用addbutton加了一个LinkButtonLayer(新版本的KageXpress里如果用anigraphic的话就新建了船长写的LinkButtonLayerEx,一般大部分人还是用naomal over的吧……这里先不管他……)
LinkButtonLayer继承的是ButtonLayer,这种按钮图层有两种模式,一种是使用图片,不管是graphic还是normal,最后都被copy到一个层上,然后通过调整层的位置来改变显示的部分,令一种是使用色块,上边写字,不过这一种kag貌似完全没传参数过来,于是已经被大家遗忘在历史的角落了……(其实很多人连知道他的存在都谈不上就更提不上遗忘了……)
我们的目标是在kag里写[button narmal=’xx‘ over='xxx' on='xxxx' text='aa']这样的指令的时候aa能显示在button的图片上,那么得在addbutton里边加入一句参数传递“object.text=elm.text;”
但是ButtonLayer类里并没有text这个属性,于是需要在这个类里加一句var text;(其实也可以直接用那个被遗忘在历史角落的Butt_caption,不过写text这种自己命名的比较不容易忘记……)
然后text传入后写到按钮图片上去,是在drawState(s)的if(Butt_imageLoaded)里边,写drawtext就行了,居中还是靠左,字体设定,颜色之类的都随便设置,位置是0-width是normal上的字,width-width*2是over上的字……width*2-width*3是over上的字……一共要写4个位置的drawtext,有耐心的话可以把不同状态的字的颜色改变下,比如over的时候字的颜色设置的亮一点什么的……这都很自由……更有耐心的话可以把字体颜色字体规格之类的也都设成参数在kag里写……
|