我这里有个人类物品。
在my @path
中有一种人在漂浮的感觉,但没有帧的变化,如果将参数callback_args => [0,[@path]]
改为callback_args => [0,0,0,1]
,则有帧的变化,但 puppet 没有漂浮,保持帧的最后一位≠ 0;其对应于交换速度。
这是没有意义的,因为在my $up
和$down
中,最后一个数字≠ 0,而位置0,-.3,0;X,Y,Z,我只要改变y,让它上下变化.
如何保持悬浮和 puppet 的两个框架?
use strict;
use warnings;
use Curses;
use Term::Animation 2.0;
my $s = Term::Animation->new();
$s->color(1); # <-- uses the color2 type mask
my @human= (q{
o
/#\
/ \
},
q{
\o>
#
/ \
});
my $up = [0,-.3,0,.5];
my $down = [0,.3,0,.5];
my @path;
for(1..14){ push(@path, $up); }
for(1..14){ push(@path, $down)}
$s->new_entity(
shape => \@human,
position => [ 5, 5, 1],
callback_args => [0, [@path] ],
color => 'w',
wrap => 1,
);
halfdelay( 2 );
for(1..500) {
$s->animate();
my $in = lc( getch() );
if($in eq 'q') { last; }
}
1条答案
按热度按时间e0bqpujr1#
如何保持悬浮和 puppet 的两个框架?
你正在为所有动画帧使用相同的形状(形状的帧)。你能尝试像这样明确地设置形状帧吗: