猫史档案馆


🆘萌新求助

用户:ENEMYENEMY查看:157 回复:5 评论:11 创建时间:2022-07-22T16:26:57


求kitten4文字印章碰到边缘就换行的方法,脑细胞想没了也想不出来(捂脸)


回复

上一页第 1 页 / 共 1 页下一页
孤狼啸谷孤狼啸谷

这...不可能吧?除非你设个函数,打字,打完换行...

点赞0


评论


醉醉白凰醉醉白凰

有几种方法……不过不适合萌新

第一种就是分行。

把一段话放在一个变量a里;创建n个角色,x一样y不同(懂?);第一个角色取a的1~20个字符显示、第二个角色取a的21~40个字符显示、第n个角色取a的(n-1)*20+1~n*20个字符(懂?)显示。这个方法我经常用,一般用的是居中选项。要清屏的时候只能在一个角色里写,不然显示不出来(别问我为什么强调这一点……想当年我……)

第二个就是单个印刷

把一段话放在一个变量a里;创建一个i=1计数;创建一个角喵,坐标为起始位置;重复执行a的长度次:打印变量a的第i个字符、将变量i+1、如果碰到右边缘将x坐标设为-400,y坐标-10(根据实际情况表调试),这个方法我没用过……不过以前我做像素画板的时候用过这种思路(懂?)

然后……没有然后了

点赞0


评论

萌新现在都这么卷了嘛,一上来就做难的()()()

谢谢,现在bcm大佬那么多,我不跟上不行啊doge


Asheep233Asheep233

文字印章字体的大小实际上是它所在字体格的边长。例如:假设文字印章大小50,则“测”字本身占用50x50,“测试”二字则占用100x50。

点赞0


评论

因此,此处假设字体居右打印,字体大小n,打印角色初始x坐标(x)。

再设一共打印i个字,则打印完后最右侧字的右边缘x坐标为x+ni。

只需检测该字右边缘的x坐标是否大于屏幕的右边缘即可。

如果有需要我可以做一个模板。

不过仅限全角文字

绝大部分都是全角

谢了

英文、数字呢?必须要全角写


一个破名七个字一个破名七个字

用数学算,首先把印刷文子放到列表,然后长度到了碰到右边缘的距离的那个数字就换一行。操作比较简单,比如每10个字就碰到右边缘一次,这里假如有一个变量叫做a,让一个角色每文子印章 把列表第a+1项、第a+2项……第a+10项放到一起,然后a+1,y坐标-若干.

点赞0


评论

感谢!


会编程的CM会编程的CM

把y坐标减少文字大小,把x坐标设为舞台最左边

点赞2


评论