想做一个小程序,来请大家提供下思路

慎思 2017-12-10 04:51:02
我想做一个小球在画布上来回运动的程序,
画布向左有一个速度,小球向下或者向上运动,要求要在画布上留下轨迹
目前小球的运动已经解决了,不知道画布的运动该怎么办,
并且要求运动一段时间后,画布上左边的一段被删掉,在右边添加一块空白画布,这个该怎么操作呢
...全文
685 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuyangtyangsujie 2018-04-27
  • 打赏
  • 举报
回复
站内比较完整的小程序实战课程,仿京东商城app实战课程:https://edu.csdn.net/course/detail/7860
慎思 2017-12-18
  • 打赏
  • 举报
回复
已经完成啦,多谢各位~
慎思 2017-12-15
  • 打赏
  • 举报
回复
引用 6 楼 u010165006 的回复:
[quote=引用 5 楼 dhuhan 的回复:] [quote=引用 4 楼 u010165006 的回复:] 第一次实现的时候,是锯齿状的轨迹,觉得不好看,改成近似正弦曲线的轨迹,太匆忙没改好。现在改了应该还可以。
请问怎么可以实现一个bitmap的移动呢,可以删除它的一部分,再添加一个空白的部分[/quote] 一样的,Canvas->CopyRect 复制区域,空白的部分还可以用Canvas->FillRect 用画刷填充颜色。用两个Canvas倒腾就可以了,Bitmap、Image都有Canvas。[/quote] 前辈你写的小球的简单运动里,Timer里面的这两个语句 bmp->Canvas->CopyRect(TRect(0,0,w-dx,h),c,TRect(dx,0,w,h)); 和 c->CopyRect(Image1->ClientRect,bmp->Canvas,Image1->ClientRect); 第一个语句的作用是通过复制使画布移动,那第二个语句作用呢? 而且每次执行Timer时,w是相同还是不同啊?
ooolinux 2017-12-15
  • 打赏
  • 举报
回复
bmp->Canvas->CopyRect(TRect(0,0,w-dx,h),c,TRect(dx,0,w,h)); c是Image1->Canvas,这句就是从Image1->Canvas复制区域到bmp->Canvas c->CopyRect(Image1->ClientRect,bmp->Canvas,Image1->ClientRect); 把bmp->Canvas整个复制到Image1->Canvas bmp->Canvas是内存中的(后台看不到的),Image1->Canvas就是正在显示的 w只在构造函数里赋值过,没有变。
ooolinux 2017-12-14
  • 打赏
  • 举报
回复
引用 5 楼 dhuhan 的回复:
[quote=引用 4 楼 u010165006 的回复:] 第一次实现的时候,是锯齿状的轨迹,觉得不好看,改成近似正弦曲线的轨迹,太匆忙没改好。现在改了应该还可以。
请问怎么可以实现一个bitmap的移动呢,可以删除它的一部分,再添加一个空白的部分[/quote] 一样的,Canvas->CopyRect 复制区域,空白的部分还可以用Canvas->FillRect 用画刷填充颜色。用两个Canvas倒腾就可以了,Bitmap、Image都有Canvas。
慎思 2017-12-14
  • 打赏
  • 举报
回复
引用 4 楼 u010165006 的回复:
第一次实现的时候,是锯齿状的轨迹,觉得不好看,改成近似正弦曲线的轨迹,太匆忙没改好。现在改了应该还可以。
请问怎么可以实现一个bitmap的移动呢,可以删除它的一部分,再添加一个空白的部分
ooolinux 2017-12-12
  • 打赏
  • 举报
回复
第一次实现的时候,是锯齿状的轨迹,觉得不好看,改成近似正弦曲线的轨迹,太匆忙没改好。现在改了应该还可以。
ooolinux 2017-12-12
  • 打赏
  • 举报
回复
算法改了一下,现在vy可以微调了,可以得到不同的振幅。
ooolinux 2017-12-10
  • 打赏
  • 举报
回复
C++ Builder写的简单小球运动(画布呈现正弦曲线轨迹) http://blog.163.com/tab_98/blog/static/119240972017111082616758/
draculamx 2017-12-10
  • 打赏
  • 举报
回复
你这不就是要自己实现波形图么。。。搜索一下 teechart 吧
编程工具简介:学习编程捷径:(不论是正在学习编程的大学生,还是IT人士或者是编程爱好者,在学习编程的过程中用正确的学习方法 可以达到事半功倍的效果。对于初学者,可以通过下面的方法学习编程,通过对成百上千个实例练习,则很快会成为编程 高手。我们专业从事编程十几年,积累了丰富的编程经验,会陆续制作编程视频供大家学习,中级、高级编程我们会专门 制作中高级的系列编程课程,难度逐步加深,学编程的可以关注我们的系列课程。可以就相关编程问题提问。 1、【编程工具分为 免费自由版、专业版、企业版。】首先通过免费自由版熟悉基本操作,通过我们提供的实例视频学习 编程,先快速入门。2、基本入门后,再学习我们提供的中级编程课程,通过对若干实例的编程练习,基本可以掌握编程思路。 3、继续加深学习的,可以继续学习高级版编程课程,通过对连接数据库等的学习真正开发出实用的商业管理软件或 定制开发程序。 4、基本掌握了编程思路之后,再学习其他的编程语言或大学里的编程课程则会非常轻松,因为不论是哪个编程语言, 最重要的是学习编程思路,而编程思路基本上是相通的。 5、学习完PC电脑端编程后,还可以继续学习APP手机软件开发。APP手机软件开发需要有PC电脑上开发基础,操作基本类似。6、编程工具为 搭建之星,这个编程工具的特点:1、安装简单、迅速,纯中文界面,构件丰富,设计过程直观、自由;无需掌握电脑语言,所有编程构件化、命令化、可视化。2、交互式开发,只需要四种类型的“命令”,便可以建立各构件之间的联系;象搭积木一样简单,并可快速的搭建出具有专业水平的软件作品。3、微解释执行,命令解释量小,执行速度快。可以和编译后的可执行文件相媲美。4、提供打包工具,使您即刻将自制软件安装到其它机器上运行。5、自动对开发项目进行加密;使您的项目,在未经授权下,别人无法“浏览、修改”项目的构件关系与搭建方法。  

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧