我想让椭圆向上和向下移动 那么,你能告诉我如何使椭圆上下移动
答案 0 :(得分:1)
第1步:将场景的状态存储在某些变量中。对您而言,这可能只是circleY
变量。
float circleY = 50;
第2步:使用该变量绘制场景。
ellipse(50, circleY, 10, 10);
第3步:随着时间的推移修改该变量以更改场景。
circleY++;
第4步:添加检查以确保您的变量不在范围之外。
if(circleY > height){
circleY = 0;
}
总而言之,它看起来像这样:
float circleY = 50;
void draw() {
background(0);
ellipse(50, circleY, 10, 10);
circleY++;
if (circleY > height) {
circleY = 0;
}
}
当然,这只是一个例子。您必须添加额外的逻辑来切换方向,而不是传送回屏幕顶部。您可以使用在圆圈到达屏幕顶部或底部时切换的directionY
变量。
但基本原理是相同的:使用变量存储状态,随时间更改这些变量,并使用这些变量绘制场景。
如果您遇到困难,我建议您尝试一些并在新问题中发布MCVE。祝你好运。
答案 1 :(得分:0)
尝试使用sin或余弦函数来上下摆动圆圈!
#include <iostream>
#include <math.h>
using namespace std;
void kub(int *niz[], int n)
{
int i=0;
while(i<n)
{
*niz[i]=pow(*niz[i],3);
i++;
}
}
void unesi(int* niz[],int n)
{
int i=0;
while(i<n)
{
cin>> *niz[i];
i++;
}
}
void stampaj(int* niz[],int n)
{
int i=0;
while(i<n)
{
if ((*niz[i]%2)==0 && (*niz[i]%2)!=0)
cout<<*niz[i]<<endl;
i++;
}
}
int main()
{
int n;
cin>>n;
int niz[n];
unesi(niz,n); /* <<= here */
kub(niz,n);
stampaj(niz,n);
return 0;
}