用画布绘制人物并设置其角度的最佳方法是什么?

2024-01-02

我这里遇到了大麻烦。我需要在床上画一个娃娃(就像在医疗床上一样),但我似乎做不到。我尝试创建自定义视图,然后开始绘图。我用了canvas.drawCircle and canvas.drawRect。我设法画了这个娃娃,但我根据自定义视图的高度和宽度来确定它的大小,所以最终我无法设置角度。

然后,我尝试设置我的自定义 xml 属性(大小),然后包装其内容。但wrap_content不起作用,它总是设置为全屏。所以我也不能使用这个,因为我需要头部的正确位置来设置身体的其余部分。

我真正需要的是,绘制一些几何形状,然后单独操作它们。比如,用户选择移动腿,然后当他按下向上按钮时,腿将设置角度+1。我不知道这是否可以通过自定义视图并且仅使用 onDraw 来实现。我现在真的真的真的迷失了,拜托,至少有人指出我需要用什么来实现这一目标。

Picture http://i42.tinypic.com/r859ol.jpg


最好的方法是使用渲染脚本 http://developer.android.com/guide/topics/renderscript/index.html or OpenGL http://developer.android.com/guide/topics/graphics/opengl.html

它可以为您提供最佳性能,但很难实施。Here http://blog.jayway.com/2009/12/03/opengl-es-tutorial-for-android-part-i/很好的教程,有5章详细。

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

用画布绘制人物并设置其角度的最佳方法是什么? 的相关文章

随机推荐

  • foreach 循环的写入进度问题

    这可能是一个非常简单的答案 我无法让写入进度正常工作 我相当确定问题出在我的变量上 但我似乎无法弄清楚到底是什么 它现在所做的是在没有输出文件存在时在第一次运行时进行炸弹攻击 它会告诉我 Write Progress Cannot vali
  • +*argv、*argv++、*(argv++) 和 *(++argv) 之间的区别

    目前我正在学习 C 并试图理解这些说明 它们实际上不同吗 argv argv argv argv Thanks 后缀增量运算符的优先级高于指针取消引用运算符 而不是前缀增量 所以这两个是等价的 p p 前缀递增的优先级与 相同 因此 p递增
  • 获得组中的最大行数?

    我需要获取每组UID中的最大ID ID UID 23 1 24 1 25 2 26 2 会给出 ID UID 24 1 26 2 如何获得每组中的最大行数 Use the MAX http dev mysql com doc refman
  • Android 短信意图环聊 2.0

    从 Hangouts 2 0 开始 Google 已经破坏 或未记录 如何通过 Intent 从第三方应用程序发送短信正文 这使得在 4 4 上通过应用程序的 Intent 发送短信完全失效 以下 Intent 不起作用 Intent sm
  • Android以太网使用dhcp配置IP [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一个带有以太网接口的安卓盒子 android SDK 中没有用于配置以太网的 Java 类 作为最后的手段 我使用 shell 命令来配置以太网
  • 直接从 jar 文件启动 Java applet

    目标是从 jar 文件运行小程序 问题是该小程序似乎只想从分解的 jar 文件运行 Internet 上的示例建议使用此小程序标签 这甚至不会尝试查看 jar 文件并失败 Caused by java io IOException open
  • 从 .NET 程序获取全局根

    我最近开始使用 ANTS 分析工具进行生产工作 除了对它们的强大感到惊讶之外 我忍不住想知道它们是如何工作的 例如 最有用的功能之一可以让您可视化正在运行的程序的全局根 以及对不同类型值的引用数量 这个工具如何获取这些信息 全面披露 我是
  • 在 Firebase 中创建空子记录

    我正在尝试使用 Firebase 数据视图创建一个子节点 但似乎这是不可能的 因为创建节点直接消失或者随时不显示 我尝试将值字段留空 但这根本不起作用 就像将 null 写入值字段一样 我做错了吗 Fabian Null 和空值与不存在的记
  • emacs lisp 和 c-mode:我什么时候在评论区

    我想在 c c 缓冲区中搜索正则表达式 但我想避免表达式与注释区域匹配 有没有办法使用 c 模式来知道一堆文本是否在注释区域内 或一个点是否在注释区域内 解决这个问题的方法是syntax ppss它适用于 C C 和大多数主要模式 例如 n
  • SequelizeEagerLoadingError 与 Sequelized

    我在尝试运行 Sequelized 查询时遇到错误 当我只询问用户时 该查询有效 但当我添加 包含 并尝试与另一个表 博客表 连接时 该查询会中断 这是我的用户模型 const Model DataTypes require sequeli
  • 为什么C++20不支持乱序指定初始化器?

    当我读书的时候C 参考 https en cppreference com w cpp language aggregate initialization Designated initializers 我对这一段有一个疑问 注 乱序指定初
  • 打包正方形和矩形的算法是什么?

    与Windows 8 Slate界面类似 如何用正方形和矩形很好地填充屏幕而不留下孔洞 假设 矩形基本上是两个相连的正方形 矩形可以是水平的或垂直的 屏幕宽度是正方形宽度的3倍 屏幕从上到下被填满 这样屏幕的最低部分可能无法完全对齐 矩形和
  • 是否可以手动更新构建变量 $(Build.BuildId)

    我正在帮助朋友进行 VSTS 构建 我们正在使用这两个构建标识符 构建 构建Id 构建 构建编号 这是特定于 Xamarin iOS 构建的 我们在其中使用新的 VSTS 构建任务来更新 Info Plist 我们需要使用 Build Bu
  • Python 输入清理

    我需要做一些非常快速的输入清理 我想基本上转换所有 lt gt to lt gt 我想达到相同的结果 replace lt lt replace gt gt 无需多次迭代字符串 我知道关于maketrans和这个结合str translat
  • Meteor 加载的 css 和 js 文件的顺序

    有没有办法指定Meteor自动加载的css或js文件的顺序 搜索了文档并找不到任何内容 我问这个问题是因为我正处于玩弄阶段 并且正在尝试将 Twitter Bootstrap 与 Meteor 一起使用 在 Bootstrap 附带的示例中
  • 无法正常退出XAMPP

    我用的是win10系统 我的 xampp 面板是 v3 2 4 xampp可以正常运行mysql和apache 但是当我想退出时 程序会报错 然后没有任何反应 需要帮助 请 我怎样才能解决这个问题 Add 在此输入图像描述 https i
  • 循环通过repeater控件来获取asp.net中Textbox的值

    我正在尝试循环遍历我的中继器控件并获取文本框值 但是 我收到错误 你调用的对象是空的 我的代码是 Dim txtField As TextBox Dim j As Integer 0 Confirm if user has entered
  • 需要一个计时器在特定时间每 5 分钟触发一次,直到作业完成

    我需要帮助为我的应用程序设置特定类型的计时器 我的场景是这样的 我想在一天中的特定时间 例如凌晨 4 00 运行计时器 然后 该计时器执行许多不同的事件 每个事件都会从数据库中获取数据并进行处理 使用后台工作人员 所有不同的事件需要不同的时
  • 存储过程变量

    恐怕我的术语阻碍了我在互联网上找到我想要的结果 不管怎样 我有一个相当复杂的存储过程 我需要向其传递几个变量 有没有办法在过程开始时定义变量 并在整个过程中引用该变量 而不是通过存储过程多次输入这些变量 例如 ID 号 1075 1050
  • 用画布绘制人物并设置其角度的最佳方法是什么?

    我这里遇到了大麻烦 我需要在床上画一个娃娃 就像在医疗床上一样 但我似乎做不到 我尝试创建自定义视图 然后开始绘图 我用了canvas drawCircle and canvas drawRect 我设法画了这个娃娃 但我根据自定义视图的高