垂直轮播渲染脚本

2024-03-18

我需要一些有关 CarouselExample 的帮助,可以使用此示例进行检查link http://code.google.com/p/android-ui-utils/downloads/detail?name=CarouselExample.zip。我想让它垂直旋转。我在 .rs 文件中找到了一个名为 getMatrixForCard 的方法,其中完成了卡片矩阵的转换。方法如下:

static bool getMatrixForCard(rs_matrix4x4* matrix, int i, bool enableSway, bool   
enableCardMatrix)
{
float theta = cardPosition(i);
float swayAngle = getSwayAngleForVelocity(velocity, enableSway);
rsMatrixRotate(matrix, degrees(theta), 0, 1, 0);
rsMatrixTranslate(matrix, radius, getVerticalOffsetForCard(i), 0); 
/* rsMatrixTranslate(matrix, 0, radius, 0);*/
float rotation = cardRotation + swayAngle;
if (!cardsFaceTangent) {
  rotation -= theta;
}
rsMatrixRotate(matrix, degrees(rotation), 0, 1, 0);
bool stillAnimating = false;
if (i == animatedSelection) {
    float3 scale;
    stillAnimating = getAnimatedScaleForSelected(&scale);
    rsMatrixScale(matrix, scale.x, scale.y, scale.z);
}
// TODO(jshuma): Instead of ignoring this matrix for the detail texture, use card 
bounding box
if (enableCardMatrix) {
    rsMatrixLoadMultiply(matrix, matrix, &cards[i].matrix);
}
return stillAnimating;
}

所以我猜想从这一行更改 x 和 y 的值可以使其工作。

rsMatrixTranslate(matrix, radius, getVerticalOffsetForCard(i), 0); 

但事实并非如此。如果有人检查过这个例子并且知道如何帮助我并使旋转木马垂直,我将不胜感激。


您不需要更改此功能,您需要更改其他一些参数

in the 轮播.rs文件替换

static const float3 cardVertices[4] = {
        { -1.0, -1.0, 0.0 },
        { 1.0, -1.0, 0.0 },
        { 1.0, 1.0, 0.0 },
        {-1.0, 1.0, 0.0 }
};
// Default camera
static PerspectiveCamera camera = {
        {2,2,2}, // from
        {0,0,0}, // at
        {0,1,0}, // up
        25.0f,   // field of view
        1.0f,    // aspect
        0.1f,    // near
        100.0f   // far
};

with

static const float3 cardVertices[4] = {
        { 0.0, -1.0, -1.0 },
        { 0.0, -1.0, 1.0 },
        { 0.0, 1.0, 1.0 },
        { 0.0, 1.0, -1.0 }
};

static PerspectiveCamera camera = {
        {2,2,2}, // from
        {0,0,0}, // at
        {0,1,0}, // up
        40.0f,   // field of view
        1.0f,    // aspect
        0.1f,    // near
        100.0f   // far
};

并在CarouselTestActivity.java change

private static final int CARD_SLOTS = 56;

to

private static final int CARD_SLOTS = 30;

并改变onCreate()如下

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.carousel_test);
    mView = (CarouselView) findViewById(R.id.carousel);
    mView.getHolder().setFormat(PixelFormat.RGBA_8888);
    mPaint.setColor(0xffffffff);
    final Resources res = getResources();

    mHelper = new LocalCarouselViewHelper(this);
    mHelper.setCarouselView(mView);
    mView.setSlotCount(CARD_SLOTS);
    mView.createCards(INCREMENTAL_ADD ? 1: TOTAL_CARDS);
    mView.setVisibleSlots(SLOTS_VISIBLE);
    mBorder = BitmapFactory.decodeResource(res, R.drawable.border);
    mView.setDefaultBitmap(mBorder);
    mView.setLoadingBitmap(mBorder);
    mView.setBackgroundColor(0.25f, 0.25f, 0.5f, 0.5f);
    mView.setRezInCardCount(3.0f);
    mView.setFadeInDuration(250);
    mView.setVisibleDetails(VISIBLE_DETAIL_COUNT);
    mView.setDragModel(CarouselView.DRAG_MODEL_CYLINDER_INSIDE);

    // New settings
    mView.setStartAngle((float) -(11.7f*Math.PI / 10));
    mView.setVisibleDetails(6);
    mView.setRowCount(3);
    mView.setRadius(10f);
    float mEye[] = { 2f, 0f, 0f };
    float mAt[] = { 0.0f, 0.0f, 0.0f };
    float mUp[] = { 0.0f, 1.0f, 0.0f };
    mView.setLookAt(mEye, mAt, mUp);
    mView.setCardsFaceTangent(true);

    if (INCREMENTAL_ADD) {
        mView.postDelayed(mAddCardRunnable, 2000);
    }

    mGlossyOverlay = BitmapFactory.decodeResource(res, R.drawable.glossy_overlay);
}

the output will be as follow Vertical Carousel

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

垂直轮播渲染脚本 的相关文章

随机推荐

  • PHPWord 导出给出损坏的 Word 文件

    我使用了 PHPWord 网站上的示例代码 http phpword codeplex com documentation http phpword codeplex com documentation当我尝试使用 Word 打开它时 出现
  • Laravel Production 问题 - 使用 Laravel 4.1.x 更新作曲家

    到目前为止 我在部署 Laravel 项目时还没有遇到任何问题 我已经为这个项目部署了将近一年 但出现了一些新的错误 首先 我无法运行作曲家更新 因为它显示此错误 composer update Warning This developme
  • 使用 JDBC 实现迭代器设计模式

    我正在解决以下问题 迭代器设计模式是一种封装性很强的设计模式 举个例子 图书馆需要一个图书管理系统 一堂课为books 存储他们的详细信息和一个类library存储书籍和书架编号 假设图书馆希望使用以下方式将数据存储在数据库中JDBC 如何
  • 程序自我更新的最佳方式

    终止程序然后从正在终止的程序运行附加代码的最佳方法是什么 例如 程序自我更新的最佳方式是什么 您有几个选择 您可以使用另一个应用程序 exe 来进行自动更新 这可能是最好的方法 您还可以在程序运行时重命名程序的 exe 因此 您可以从某个更
  • Java中获取资源文件夹中的文件

    我想读取 Java 项目的资源文件夹中的文件 我为此使用了以下代码 MyClass class getResource myFile xsd getPath 我想检查文件的路径 但它给出了以下路径 file home malintha m2
  • iOS7 导航栏上方的状态栏

    我正在使用 iOS7 测试我的应用程序 但状态栏有问题 基本上状态栏出现在导航栏上 如下图所示 我试着打电话给我viewDidLoad self edgesForExtendedLayout UIRectEdgeNone self auto
  • Webpack @font-face相对路径问题

    我在 angular2 应用程序中使用相对路径加载字体时遇到问题 在 app ts 中我有这两个导入 import public css fonts less import public css main less 在 fonts less
  • WPF组合框基于文本输入的动态过滤

    我似乎无法找到一种直接方法来实现将文本输入过滤到 WPF 组合框中的项目列表中 通过将 IsTextSearchEnabled 设置为 true 组合框下拉列表将跳转到第一个匹配项 我需要的是将列表过滤为与文本字符串匹配的任何内容 例如 如
  • 无法安装 Windows 7 SDK(需要已安装 .NET Framework 4)

    I m trying to install windows 7 SDK on Windows 8 and Windows 10 machines and got this error 如果我单击 确定 我将无法安装我需要的 VC 编译器 因
  • 如何在文件夹及其所有子文件夹中搜索特定类型的文件

    我试图在给定文件夹中搜索给定类型的所有文件并将它们复制到新文件夹 我需要指定一个根文件夹 并在该文件夹及其所有子文件夹中搜索与给定类型匹配的任何文件 如何搜索根文件夹的子文件夹及其子文件夹 看起来递归方法可行 但我无法正确实现 尝试这个 D
  • jQuery 更改媒体查询宽度值

    是否可以与jQuery或其他任何改变宽度值 media query css当页面运行时 例如 如果在 style css 中我有 media screen and min width 400px whatever 将其更改为500px网站加
  • 重新运行(相同)代码后出现 KeyError

    当我尝试运行以下代码时返回 KeyError import pandas as pd import networkx as nx from matplotlib import pyplot as plt G nx from pandas e
  • 如何使用 PIL 创建透明 gif(或 png)(python-imaging)

    尝试去create带 PIL 的透明 gif 到目前为止我有这个 from PIL import Image img Image new RGBA 100 100 255 0 0 0 img save test gif GIF transp
  • java中维护插入顺序的Maps(集合)

    我需要在 Android 应用程序中使用 Java 中的地图 但问题是列表会自动排序 如何使用地图以与插入数据相同的顺序获取数据 你应该使用LinkedHashMap为此目的 访问安卓文档 http developer android co
  • 使用fluid_styled_content,如何在TYPO3 7.5和7 LTS中创建自定义内容元素?

    有人告诉我 使用新的 Fluid styled content 系统扩展在 TYPO3 7 5 中为后端设置自定义的结构化内容元素是一件轻而易举的事 看完之后sysext fluid styled content and sysext ba
  • 如何从 Canvas 对象中删除边框和角? [Fabric.js]

    我在一个项目中使用fabric js 用户可以在画布上绘图 然后保存到png图像 使用canvas toDataURL 函数 但是 我们注意到 如果用户移动对象并单击 保存 按钮 它会保存先前移动的对象的边框和角 当您移动或调整对象大小时
  • 在 SQL Server 2005 中,当用户拥有管理员权限时,有没有办法将默认模式设置为 dbo 以外的任何模式? [复制]

    这个问题在这里已经有答案了 我正在使用带有 Windows 身份验证的 SQL Server 2005 我的登录有管理员权限 对于我的登录 我有一个用户映射到数据库 默认模式设置为 my schema 我的登录名不是数据库的所有者 当我登录
  • 使用 java 脚本未更改 HTML 输入字段的属性

    我有一个表格 有两个字段文具类型和文具请求数量 表格的信纸 rqst 数量字段接受该数字 可以在此字段中输入的最小数量 数量 取决于信纸类型字段的值 即 如果信纸类型字段值为 铅笔 则信纸请求数量字段的最小值属性应为 5 并且如果是 记事本
  • 如何将数据表中的多个列设置为同一数据表中不同列的值?

    假设我有一个包含 6 列的数据框 并且我想将 col 1 3 设置为 col 4 6 中的值 合并时会经常出现这种情况 使用数据框很容易 set seed 1 df lt data frame matrix sample 1 100 30
  • 垂直轮播渲染脚本

    我需要一些有关 CarouselExample 的帮助 可以使用此示例进行检查link http code google com p android ui utils downloads detail name CarouselExampl