javascript - html5 Canvas 文本动画新闻自动收报机

标签 javascript animation html5-canvas

我在这里找到了这段代码: https://github.com/shinstudio/html5_myown_party/blob/master/news_ticker/index.html

我需要将自动收报机滚动条从右改为左。

Canvas js代码:

<div id="border">
   <canvas id="bannershow" width="500" height="150" />
</div>

var globalx = 0;
var vector = 1;
var interval = 120;
var canvas = document.getElementById('bannershow');
var ctx = canvas.getContext('2d');
var fontsize = 80;
var canvasHeight = 150;
var canvasWidth = 500;

function banner(label) {

    ctx.clearRect(0, 0, canvasWidth, canvasHeight);    
    ctx.fillStyle = 'rgb(0, 0, 0)';
    ctx.fillRect (0, 0, canvasWidth, canvasHeight);

    ctx.fillStyle = 'rgba(255, 255, 255, 0.4)'
    ctx.font = fontsize + 'px Helvetica';
    ctx.textBaseline = 'top';

    if (globalx > canvasWidth) {
        globalx = ctx.measureText(label).width * -1;
    }
    ctx.fillText(label, globalx, (canvasHeight-fontsize)/2);

    globalx += vector;
}
setInterval(banner, 1000/interval, 'Helvetica is the new font');

最佳答案

http://jsfiddle.net/t74ww/1/

var globalx = 500;
var vector = -1;
var interval = 120;
var canvas = document.getElementById('bannershow');
var ctx = canvas.getContext('2d');
var fontsize = 80;
var canvasHeight = 150;
var canvasWidth = 500;

function banner(label) {

    ctx.clearRect(0, 0, canvasWidth, canvasHeight);    
    ctx.fillStyle = 'rgb(0, 0, 0)';
    ctx.fillRect (0, 0, canvasWidth, canvasHeight);

    ctx.fillStyle = 'rgba(255, 255, 255, 0.4)'
    ctx.font = fontsize + 'px Helvetica';
    ctx.textBaseline = 'top';
    if (globalx < 0 - ctx.measureText(label).width) {
        globalx = canvasWidth;
    }  
    ctx.fillText(label, globalx, (canvasHeight-fontsize)/2);

    globalx += vector;
}
setInterval(banner, 1000/interval, 'Helvetica is the new font');

只需更改 vector = -1 和 globalx = 500。vector 负责水平滚动的方向,globalx 是呈现文本的起点(在 x 轴上)。 更改这些变量比更改函数更好。事实上,动画是由这个设置/变量控制的。

干杯

关于javascript - html5 Canvas 文本动画新闻自动收报机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19922474/

相关文章:

php - 暂停使用 javascript 提交表单

c# - 从 WebService (.NET) 使用 C# 调用 javascript

java - 游戏对象旋转形成椭圆形而不是圆形

javascript - TweenLite 动画无法正常工作

html - 在 Canvas 的裁剪区域外放置阴影

javascript - jQuery .submit() 不适用于 Gravity Forms(Wordpress 插件)

JavaScript len 函数

javascript - 如何在 SVG 排队时而不是运行时检测并停止动画?

javascript - 如何释放 JavaScript 中的内存

javascript - 将 Fabric JS 中的 Canvas 平移限制到边界?