IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> js商场导航思路--ivx--canvas实现导航动画效果 -> 正文阅读

[游戏开发]js商场导航思路--ivx--canvas实现导航动画效果

最近在研究商场导航思路

因为ivx暂时没有商场导航的案例,随即我便做了一个。

暂时没有找到自动寻路的方案。只能写好每条路线到数据库里面。然后通过搜索出来的结果进行演示

因为最近学习了ivx html5快速开发,

我这里就演示的是ivx的开发过程。?

以下为js 源码

//以下代码仅作为参考不可直接运行使用 
//路径数据为 [[369,245],[777,468],[844,300]]


var 导航坐标 = sitegorup
var ctx = ids.drawId._ctx;

var kuan = document.body.clientWidth
var gao = document.body.clientHeight
var screenx = 0
var screeny = 0

var canvas = document.getElementsByTagName("canvas")[0];

var img = new Image(); //这个就是 img标签的dom对象
img.src = ids.jiantou._link;
img.alt = '文本信息';
ctx.clearRect(0, 0, 1500, 844);

function move() {
    console.log("sitegorup:", 导航坐标);
    var i = 0;
    //图片加载完成后,执行此方法
    var t = 0;
    var timeId = setInterval(function () {
        console.log("导航坐标length:", i);

        var x0 = 导航坐标[i][0];
        var y0 = 导航坐标[i][1];
        var x1 = 导航坐标[i + 1][0];
        var y1 = 导航坐标[i + 1][1];


//贝塞尔曲线一次方程。t 取值0.1-1 ,即可画出2个坐标点之间的所有点。
//即可画出线段动画效果
        var x2 = (1 - t) * x0 + t * x1
        var y2 = (1 - t) * y0 + t * y1
        t = t + 0.01
        //console.log("x0:", x1);

        ctx.drawImage(img, x2, y2);
        if (x2 >= kuan / 2) {
            screenx =  kuan / 2-x2 
//左边距,始终让线条出于中心位置
            canvas.style.left = screenx+"px";
            console.log("screenx:", screenx);
                      console.log("canvas.style.left:", canvas.style.left);

        }
        if (y2 >= gao / 2) {
            screeny =  gao / 2-y2 
//上边距,始终让线条出于中心位置
            canvas.style.top = screeny+"px";
            console.log("screeny:", screeny);
                      console.log("canvas.style.top:", canvas.style.top);

        }
        if (t >= 1) {
            t = 0;
            if (i <= 导航坐标.length - 3) {
                i++;
            } else {
                clearInterval(timeId);
            }
        }
    }, 1000 / 30);
    //console.log("timeId:",timeId);
    return timeId;
}

var Id = img.onload = move();


console.log("Id:", Id);
//用于取消动画效果,需要知道setInterval 的id
return { timeId: Id };

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 22:31:30  更:2022-03-17 22:34:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 18:44:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码