`
JerryWang_SAP
  • 浏览: 1003300 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

雪妖现世:给SAP Fiori Launchpad增添雪花纷飞的效果

阅读更多

1995年7月,台湾大宇公司发布了一款国产单机角色扮演游戏神作:《仙剑奇侠传1》,所谓“一包烟,一杯茶”,就能在电脑面前坐一整天。

这么经典的游戏Jerry当然已经通关过无数次了。在试炼窟最深处的女娲遗迹里,可以习得冰系最强法术:雪妖。

雪妖施展后,全屏幕会渲染出漫天雪花,攻击对方全体。本文Jerry会介绍如何给SAP Fiori Launchpad增加和雪妖施法一样的雪花纷飞效果。

先从这个视频里看下Fiori Launchpad加了雪花后的效果。

Jerry从2014年开始学习JavaScript,当时从网上搜集了很多视觉效果酷炫的HTML页面,通过单步调试的方式学习其实现技巧。

可以通过这个链接访问Jerry学习过程中参考的HTML5应用,总共98个:

绝大多数效果酷炫的HTML5应用都是通过JavaScript操作canvas这个HTML5引入的新标签实现的。

我们首先在本地实现雪花效果,然后再集成到Fiori Launchpad里去。

搜索引擎里根据关键字snow canvas html5搜索,能找到很多结果:

本文我们选择这个实现。

本地新建一个html文件,把下面这119行代码拷贝进去,用浏览器打开,即可看到文章开头视频里那个雪花效果了。

大家可以从Jerry的Github上找到可以直接复制粘贴的代码:

这个雪花实现最核心的地方是上图第92行的requestAnimationFrame函数调用,这个函数是windows全局对象提供的一个标准函数,通知浏览器在每次重绘时,调用应用开发人员实现的一个回调函数,来实现动画效果。我们编写一个loop函数,在里面用随机数发生器修改200片雪花每一片的x和y轴坐标,大小和下落速度等参数。理论上loop函数被requestAnimationFrame驱动,每隔一秒会重复执行60次,但在大多数遵循W3C建议的浏览器中,回调函数执行次数通常与浏览器屏幕刷新次数相匹配。

搞懂了这段代码的实现原理后,下面我们将其迁移到Fiori里去。

打开SAP WebIDE,在workspace Preferences里根据关键字Launchpad搜索,找到SAP Fiori Launchpad extensibility这个插件,将其置于enabled状态。

之后在新建项目的向导里能看到SAP Fiori Launchpad Plugin这个模板了。基于这个模板创建一个新的Fiori项目:

向导会自动帮我们生成一个Fiori Launchpad插件必需的文件。

新建一个controller文件夹,里面新建一个文件Flake.js, 把之前单机版的雪花实现效果的script标签里的代码迁移到Flake.js里:

之所以Jerry用了“迁移”,而不是“拷贝”,是因为单机版里的JavaScript代码直接复制粘贴到Fiori里是没办法工作的。

想一想,UI5之外的第三方库,如何引入到Fiori项目里并消费?Jerry之前的文章 如何在SAP UI5应用里添加使用摄像头拍照的功能 已经介绍过方法。Flake.js可以看成nodejs里的一个module,注意上图第6行Object.extend函数调用,返回的是一个能够被SAP Fiori应用导入后能够直接消费的雪花对象。之前单机版里采用面向过程式编程思想开发的几个函数,通过Object.extend封装成了JavaScript对象具有的方法。

在Component.js里,通过sap.ui.define引入Flake对象,再用Flake.的语法就可以使用文件Flake.js里暴露的方法了。

Flake.js和Component.js的代码,请从Jerry的github上获取:

https://github.com/i042416/KnowlegeRepository/blob/master/practice/279_Flake.js
https://github.com/i042416/KnowlegeRepository/blob/master/practice/279_Component.js

完成插件开发后,本地测试。右键选择Run as SAP Fiori Launchpad Sandbox:

选择通过项目工程里的fioriSandboxConfig.json文件作为启动入口,就能在新的浏览器窗口里看到效果了:

如果遇到问题,老规矩,F12打开调试器,通过debug找原因:

如果sandbox里测试没问题,最后通过SAP帮助里介绍的步骤,部署到生产环境里,这里不再赘述。

如果把雪花的填充颜色的RGB值改成0 0 0会是什么效果?纯白的雪花会变成黑色。看这个视频:

看起来效果很像圣斗士黑暗四天王里黑暗白鸟的绝招。黑暗白鸟发出的黑色暴风雪,号称能够让熊熊燃烧的火焰立即熄灭。

感谢阅读。

更多阅读

Jerry的ABAP, Java和JavaScript乱炖
Jerry的UI5框架代码自学教程
Jerry的碎碎念:SAPUI5, Angular, React和Vue
SAP Fiori应用的三种部署方式
Jerry的Fiori原创文章合集
Jerry和您聊聊Chrome开发者工具
用JavaScript访问SAP云平台上的服务遇到跨域问题该怎么办
当我用UI5诊断工具时我用些什么
写在Github被微软收购之际 - Github的那些另类用法
SAP UI 搜索分页技术
SAP移动应用解决方案之一:HTML5应用 + Cordova = 平台相关的混合应用
SAP成都研究院安德鲁:自己动手开发一个Chrome Extension
在SAP UI中使用纯JavaScript显示产品主数据的3D模型视图
你的项目刚刚启动?是时候考虑Globalization了!
在Kubernetes上运行SAP UI5应用(上)
在Kubernetes上运行SAP UI5应用(下)
SAP Fiori + Vue = ?
SAP UI5和微信小程序对比之我见
Fiori Fundamentals和SAP UI5 Web Components
如何在阿里云上运行SAP UI5应用
高射炮打蚊子,杀鸡用绝世好剑:在SAP Kyma上运行UI5应用
在SAP除了使用Cordova生产移动应用外,还有这种方式
只要200行JavaScript代码,就能把特斯拉汽车带到您身边
纯JavaScript实现的调用设备摄像头并拍照的功能
如何在SAP UI5应用里添加使用摄像头拍照的功能

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

 

 

0
2
分享到:
评论

相关推荐

    SAP Fiori Launchpad配置指南

    1. **范围**(Scope):Launchpad Designer中有三个不同的范围来管理配置,包括: - 配置(Configuration):这是系统级别的设置,适用于整个系统。 - 定制(Customization):特定于客户端的设置,仅对当前客户端...

    sapFiori配置手册[整理].pdf

    本配置手册旨在指导用户完成SAP Fiori的设置和配置,从而实现SAP Fiori Launchpad的激活。下面是该手册中所涉及到的知识点: 1. 创建管理员账号和测试账号 在SAP Fiori的配置中,需要创建管理员账号和测试账号。...

    SAP Fiori---快速指南 共82页 2018年编著 word文档

    ### SAP Fiori 快速指南知识点详述 #### 一、SAP Fiori 简介 SAP Fiori 是一款由 SAP 开发的新用户体验(UX),旨在为用户提供直观、简洁的操作界面。它包含了300多个基于角色的应用程序,覆盖了人力资源、制造、...

    SAP Fiori APP 应用快速实施解决办法

    4. **Fiori Launchpad 和 Launchpad Designer 设置**:配置Fiori Launchpad 和 Launchpad Designer以便于用户访问各种应用程序。 5. **Fact Sheets 的通用配置**:确保Fact Sheets 正确配置并能够访问必要的后端数据...

    SAP Fiori_Training_Day_3.pdf

    Training Agenda • Session 1: Introduction to FIORI Elements (30 mins) • Hands on 1: Build a FIORI Elements application (60 mins) • Session 2: Enhance FIORI Elements ...FIORI Launchpad Designer

    SAP S4HANA Fiori配置

    2. **Fiori库的激活**:在SAP Gateway服务目录中,激活所需的Fiori应用库,这将使Fiori应用能够在Launchpad上显示。 3. **SAML单点登录配置**(可选):如果需要,可以配置SAML单点登录,以实现用户统一认证,提高...

    SAP Fiori 最新现金流案例

    测试用例关键点在于验证“现金位置”(Cash Position)瓷砖在SAP Fiori Launchpad中的信息显示是否准确。这个测试用例旨在确保在执行一系列业务操作后,用户能够看到正确的现金流信息。这包括了对不同维度的现金流进行...

    SAP Fiori - Adding a Custom Workflow in 6 Steps

    其次,需要熟悉SAP Fiori Launchpad的基本操作和配置,因为这是将自定义工作流应用呈现给最终用户的地方。此外,熟悉SAPUI5或SAP Fiori Elements对于实现高质量的用户界面至关重要。最后,整个开发过程应遵循SAP的...

    How to Deploy UI5 Applciation on the FIORI Launchpad

    本文档将指导您完成在Fiori Launchpad上部署SAP UI5应用程序的过程。这是一份详细的指南,涵盖了从准备到最终部署的所有步骤。适用于SAP UI5 1.18版本及其后续版本。 #### 关键知识点 ##### 1. Fiori Launchpad...

    SAP Fiori 2.0开发指南

    **SAP Fiori 启动板 (Launchpad)** - **启动板区域**: 这些区域允许用户组织和访问应用程序。它们可以自定义,并根据用户的需求进行调整。 - **我的区域 (Me Area)**: 此区域显示与用户相关的个性化信息,如个人...

    Beginning_SAP_Fiori [Bince_Mathew] Apress

    Take a deep dive into SAP Fiori and discover Fiori architecture, Fiori landscape installation, Fiori standard applications, Fiori Launchpad configuration, tools for developing Fiori applications and ...

    SAP fiori 简易开发流程

    SAP fiori的简易开发过程指南,从开发者角度出发,分后面ODATA开发环境和前端SAP UI5环境搭建,以及发布进行了讲解

    SAP-Fiori---快速指南.docx

    SAP Fiori 快速指南 SAP Fiori 是 SAP 软件和应用程序的新用户体验(UX),提供了一组应用程序,用于常规业务功能,如工作批准,金融应用程序,计算应用程序和各种自助服务应用程序。SAP Fiori 提供了 300 多个基于...

    Beginning SAP Fiori.pdf

    ### SAP Fiori 入门详解 #### 一、SAP Fiori 概览与架构 **SAP Fiori** 是一款基于HTML5技术构建的用户界面框架,它为用户提供了一个简单直观的操作体验,覆盖了从桌面到平板电脑再到智能手机等多种设备。通过一...

    SAP Fiori Launchpad - Development and Extensibility.zip

    sap press doc 解压密码:abap_developer

    SAP Fiori overview

    ### SAP Fiori 概览与用户体验战略 #### 标题:SAP Fiori 概览 **SAP Fiori** 是 SAP 公司为改善其应用程序的用户界面(UI)和用户体验(UX)而推出的一套设计原则和技术框架。自2013年发布以来,SAP Fiori 已经...

    Building SAP Fiori-like UIs with SAPUI5 in 10 Exercises

    SAPUI5适合用于开发SAP Fiori风格的用户界面,Fiori是SAP提出的一个用户体验设计准则,旨在为所有SAP软件产品提供统一、简洁且易于使用的界面。 本教程文档介绍了如何使用SAPUI5构建类似SAP Fiori的应用程序UI,并...

    SAP Fiori Elements Development UX 403

    SAP Fiori Elements Development UX 403 SAP Fiori Elements Development UX 403 是一门关于 SAP Fiori 元素开发的高级课程,旨在帮助开发人员学习如何构建高质量的用户体验(UX)。本课程的主要目标是让开发人员...

    SAP FIORI OVERVIEW

    SAP Fiori是一种创新的用户界面(UI)设计和交付架构,由SAP公司推出,旨在为企业应用程序带来消费级用户体验。SAP Fiori的目标是通过更新最广泛和频繁使用的SAP软件功能的用户界面,为用户提供即时价值,这些功能可以...

Global site tag (gtag.js) - Google Analytics