當前位置:首頁 » 編程軟體 » 化雪花編程

化雪花編程

發布時間: 2022-03-01 19:17:07

⑴ 跪求Flash8.0編程高手。。急。。

我說,這個是as1.0?

看報錯應該是as2.0的吧

你將_root["rat"add random(9)].gotoAndPlay("up");
改成_root["rat"+random(9)].gotoAndPlay("up");

再試試

⑵ 怎麼用C語言寫下雪的動畫效果

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>

/*
*清除屏幕的shell命令/控制台命令,還有一些依賴平台的實現
*如果定義了__GNUC__就假定是使用gcc編譯器,為Linux平台
*否則認為是Window平台
*/
#ifdefined(__GNUC__)
//下面是依賴Linux實現
#include<unistd.h>
#definesleep_ms(m)
usleep(m*1000)

//向上移動游標函數Linux
staticvoid__curup(intheight)
{
inti=-1;
while(++i<height)
printf("33[1A");//先回到上一行
}
#else

//創建等待函數1s60幀相當於16.7ms=>1幀,我們取16ms
//咱么的這屏幕推薦1s25幀吧40ms
//這里創建等待函數以毫秒為單位,需要依賴操作系統實現
#include<Windows.h>
#definesleep_ms(m)
Sleep(m)

//向上移動游標
staticvoid__curup(intheight)
{
COORDcr={0,0};
//GetStdHandle(STD_OUTPUT_HANDLE)獲取屏幕對象,設置游標
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),cr);
}
#endif/*__GNUC__跨平台的代碼都很醜陋*/

//定義初始屏幕的寬高像素宏
#define_INT_WIDTH(100)
#define_INT_HEIGHT(50)
//屏幕刷新幀的速率
#define_INT_FRATE(40)
//雪花飄落的速率,相對於屏幕刷新幀的倍數
#define_INT_VSNOW(10)

/*
*錯誤處理宏,msg必須是""括起來的字元串常量
*__FILE__:文件全路徑
*__func__:函數名
*__LINE__:行數行
*__VA_ARGS__:可變參數宏,
*##表示直接連接,例如a##b<=>ab
*/
#definecerr(msg,...)
fprintf(stderr,"[%s:%s:%d]"msg" ",__FILE__,__func__,__LINE__,##__VA_ARGS__);

/*
*屏幕結構體,具有寬高
*frate:繪制一幀的周期,單位是毫秒
*width:屏幕的寬,基於窗口的左上角(0,0)
*height:屏幕的高
*pix:用一維模擬二維主要結構如下
*0001001010
*0101010120
*...
*=>0表示沒像素,1表示1個像素,2表示2個像素....
*/
structscreen{
intfrate;//也可以用unsigned結構
intwidth;
intheight;
char*pix;
};

/*
*創建一個屏幕結構指針返回
*
*intfrate:繪制一幀的周期
*intwidth:屏幕寬度
*intheight:屏幕高度
*return:指向屏幕結構的指針
**/
structscreen*screen_create(intfrate,intwidth,intheight);

/*
*銷毀一個屏幕結構指針,並為其置空
*structscreen**:指向屏幕結構指針的指針,二級銷毀一級的
**/
voidscreen_destory(structscreen**pscr);

/**
*屏幕繪制函數,主要生成一個雪花效果
*
*structscreen*:屏幕數據
*return:0表示可以繪制了,1表示圖案不變
*/
intscreen_draw_snow(structscreen*scr);

/**
*屏幕繪制動畫效果,繪制雪花動畫
*
*structscreen*:屏幕結構指針
*/
voidscreen_flash_snow(structscreen*scr);

//主函數,主業務在此運行
intmain(intargc,char*argv[])
{
structscreen*scr=NULL;

//創建一個屏幕對象
scr=screen_create(_INT_FRATE,_INT_WIDTH,_INT_HEIGHT);
if(NULL==scr)
exit(EXIT_FAILURE);

//繪制雪花動畫
screen_flash_snow(scr);

//銷毀這個屏幕對象
screen_destory(&scr);

return0;
}

/*
*創建一個屏幕結構指針返回
*
*intfrate:繪制一幀的周期
*intwidth:屏幕寬度
*intheight:屏幕高度
*return:指向屏幕結構的指針
**/
structscreen*
screen_create(intfrate,intwidth,intheight)
{
structscreen*scr=NULL;

if(frate<0||width<=0||height<=0){
cerr("[WARNING]checkisfrate<0||width<=0||height<=0err!");
returnNULL;
}

//後面是為scr->pix分配的內存width*height
scr=malloc(sizeof(structscreen)+sizeof(char)*width*height);
if(NULL==scr){
cerr("[FATALG]Outofmemory!");
returnNULL;
}
scr->frate=frate;
scr->width=width;
scr->height=height;
//減少malloc次數,malloc消耗很大,內存泄露呀,內存碎片呀
scr->pix=((char*)scr)+sizeof(structscreen);

returnscr;
}

/*
*銷毀一個屏幕結構指針,並為其置空
*structscreen**:指向屏幕結構指針的指針,二級銷毀一級的
**/
void
screen_destory(structscreen**pscr)
{
if(NULL==pscr||NULL==*pscr)
return;
free(*pscr);
//避免野指針
*pscr=NULL;
}

//構建開頭的雪花,下面宏表示每_INT_SHEAD個步長,一個雪花,需要是2的冪
//static可以理解為private,宏,位操作代碼多了確實難讀
#define_INT_SHEAD(1<<2)
staticvoid__snow_head(char*snow,intlen)
{
intr=0;

//數據需要清空
memset(snow,0,len);
for(;;){
//取餘一個技巧2^3-1=7=>111,並就是取余數
intt=rand()&(_INT_SHEAD-1);
if(r+t>=len)
break;
snow[r+t]=1;
r+=_INT_SHEAD;
}
}
#undef_INT_SHEAD

//通過上一個scr->pix[scr->width*(idx-1)]=>scr->pix[scr->width*idx]
//下面的宏規定雪花左右搖擺0向左一個像素,1表示不變,2表示向右一個像素
#define_INT_SWING(3)
staticvoid__snow_next(structscreen*scr,intidx)
{
intwidth=scr->width;
char*psnow=scr->pix+width*(idx-1);
char*snow=psnow+width;
inti,j,t;//i索引,j保存下一個瞬間雪花的位置,t臨時補得,解決雪花重疊問題


//為當前行重置
memset(snow,0,width);
//通過上一次雪花位置計算下一次雪花位置
for(i=0;i<width;++i){
for(t=psnow[i];t>0;--t){//雪花可以重疊
//rand()%_INT_SWING-1表示雪花橫軸的偏移量,相對上一次位置
j=i+rand()%_INT_SWING-1;
j=j<0?width-1:j>=width?0:j;//j如果越界了,左邊越界讓它到右邊,右邊越界到左邊
++snow[j];
}
}
}

/**
*屏幕繪制函數,主要生成一個雪花效果
*
*structscreen*:屏幕數據
*return:0表示可以繪制了,1表示圖案不變
*/
int
screen_draw_snow(structscreen*scr)
{
//靜態變數,默認初始化為0,每次都共用
staticint__speed=0;
intidx;

if(++__speed!=_INT_VSNOW)
return1;

//下面就是到了雪花飄落的時刻了既__speed==_INT_VSNOW
__speed=0;

//這里重新構建雪花界面,先構建頭部,再從尾部開始構建
for(idx=scr->height-1;idx>0;--idx)
__snow_next(scr,idx);

//構建頭部
__snow_head(scr->pix,scr->width);

return0;
}

//buf保存scr中pix數據,構建後為(width+1)*height,後面宏是雪花圖案
#define_CHAR_SNOW『*『
staticvoid__flash_snow_buffer(structscreen*scr,char*buf)
{
inti,j,rt;
intheight=scr->height,width=scr->width;
intfrate=scr->frate;//刷新的幀頻率

//每次都等一下
for(;;sleep_ms(frate)){
//開始繪制屏幕
rt=screen_draw_snow(scr);
if(rt)
continue;

for(i=0;i<height;++i){
char*snow=scr->pix+i*width;
for(j=0;j<width;++j)
buf[rt++]=snow[j]?_CHAR_SNOW:『『;
buf[rt++]=『 『;
}
buf[rt-1]=『『;

//正式繪制到屏幕上
puts(buf);

//清空老屏幕,屏幕游標回到最上面
__curup(height);
}
}
#undef_CHAR_SNOW

/**
*屏幕繪制動畫效果,繪制雪花動畫
*
*structscreen*:屏幕結構指針
*/
void
screen_flash_snow(structscreen*scr)
{
char*buf=NULL;
//初始化隨機數種子,改變雪花軌跡
srand((unsigned)time(NULL));

buf=malloc(sizeof(char)*(scr->width+1)*scr->height);
if(NULL==buf){
cerr("[FATAL]Outofmemory!");
exit(EXIT_FAILURE);
}

__flash_snow_buffer(scr,buf);

//1.這里理論上不會執行到這,沒加控制器.2.對於buf=NULL,這種代碼可以省掉,看編程習慣
free(buf);
buf=NULL;
}

⑶ 如何評價2022北京冬奧會點火儀式

這朵雪花,我們設計了整整三年。
2008年的火炬非常經典,這次我們也必須用全新的創意去超越它,而且要讓火炬和整個的表演的節目融合為一體。

這是一個非常非常痛苦的一個過程。因為導演是一個視覺大師,他有極致的美學追求,而且他經常會想到天馬行空的一些想法,每個節目都會不斷地去顛覆,去追求效果的極致,打磨了好幾個月的視覺效果推倒重來都是常事。他經常激勵我們這些年輕人,說限制就是天才的磨刀石,聽完之後我就又充滿鬥志地去加班了,哈哈。
回歸正題,我認為這次整個點火的環節,是一次科技美學的創新。兼具了科技的魅力和東方的幻想。
我們設計團隊的幾個主創設計師都是90後和00後,他們把一些數字化的可視化編程手段運用到了我們的設計和製作過程中,用中國結和橄欖枝,編織成了一朵雪花。
雪花裝置寬為14.899米,內部有96個中國結的小雪花,周圍加上了6條橄欖枝,每一個都是發光裝置。如何讓它既像雪花那樣晶瑩剔透,又能讓內部每一個點位像雪花一樣發光,是我們的重要課題。我們現在看到的雪花內部閃爍的鑽石光,實際上是用分型這種編程方式實現的。我們做了一個數字編程的演算法,把這些演算法映射到雪花裝置裡面,讓它的光每一秒都完全不同,既有雪花的綻放感,也有橄欖枝的浪漫。
點火的瞬間應該是全場最高光的時刻,我們的雪花編程、機械裝置的吊裝時間和地面的影像內容完全渾然一體。這樣一個創意,實際上也花了很多的心思。
我們最開始在這個部分設計了一個很壯觀的地球,當時是希望所有的點火運動員是在地球上非常恢弘地走過。但後來幾經討論,我們希望把整個火炬的高光時刻留給這一次火炬的創新,所以把所有內容全部砍掉了,我們的影像內容進行了數控、數字裝置,還有我們點火的行為和冰面冰瀑的完全的同步,在那一秒所有的內容、所有的現場都彷彿屏住了呼吸,為這一次創新最高潮綻放光芒。

⑷ VC 如何產生源源不斷的隨機數

不太清楚你的描述,我的理解是,你在畫雪花的時候由於隨機數的隨機性太大而使雪花下落時左右跳動太大。不知是不是這樣。

雪花下落,那肯定y方向上的位移是固定了,所以只用x方向上位移隨機就行了。

首先初始化隨機數種子:srand( (unsigned)time( NULL ) );

然後在雪花運動時:
定義三個變數:
int nXPrevious;//上一次的位置
int nXNew;//新的位置
int nOffset=3;//雪花左右的偏移范圍

{
nXNew = nXPrevious + nOffset*rand()/RAND_MAX;
//畫雪花
nXPrevious = nXNew;
}
//以上的過程循環。

這樣就可以保證下次的位置不會與上一次有太大的位移了。

⑸ 求VB程序設計,有一段雪花飄揚的代碼,求添加代碼讓用戶選擇往左飄或者往右飄,還有飄雪速度代碼。

Private sub form1_load(省略)
Dim i As Integer
For i=0 To 99
Randomize()
s(i)=New snowflakes(Rnd()*Me.width,Rnd()*Me.Height)
Next
End Sub

Private sub timer1_tick(省略)
Me.Refresh()
pen1=New pen(color.white,5)
g=Me.CreateGraphics
For i=0 to 99
g.DrawEllipse(pen1,s(i).x,s(i).y,1,1)
s(i).down(10)
If s(i).x>=Me.width Then
s(i).x=Rnd()*20
End If
If s(i).y>=Me.Height Then
s(i).y=Rnd()*10
End If

⑹ 如何用java語言編程實現"全屏渲染雪花飄落的場景"

看見阿薩德很簡單

⑺ 請問有誰知道用C++編程編出小花來嗎,雪花之類的,就是應用圖形學

這是分形,需要掌握分形理論跟性質

⑻ 寫作什麼是雪花法,除了雪花法還有什麼技巧或法。

寫作方法之雪花法

首先,不要誤會,寫小說是很容易的一件事。

寫「好」一篇小說才是難事

。這
就是生活啊„„

如果寫好小說很容易,我們大家都可以當暢銷書作家然後獲得大獎了,然後呢,
老實說,會有一千個不同的人,告訴你一千種「如何寫小說」的法子。最好的法
子,只是最合適你的法子,這個是要你自己去挑選。這個講座里,我要講的,是
我自己最愛的法子,
就是所謂的雪花寫作法。
最後再說一次,
如果這法子你看著
合適你我很高興,
如果你看著覺得要吐我會拍拍,
那很正常。
選擇你能用的,

略別的,就好。

第一章

設計的重要性

一本好小說不是正好「發生」的。它是設計出來的。你可以在寫前就設計好,或
者邊寫邊往下設計。但是個人來說,我強烈建議在寫前就先把設計的活給幹了。
個人認為,先做設計會節省時間,而且最後的效果也會比較好。設計一本小說,
是很辛苦的工作。
所以,
在開始前,
最好就要先弄明白一些需要順從的規則。

一個合適自己的設計流程。這里我要講的就是這個。

問題:你怎麼設計一篇小說?

我的本職其實是軟體工程,寫書之外我是編寫大型軟體賺生活費的,我寫小說,
是和我編寫程序,用的一樣的法子

,這就是「雪花法則」了

。那,什麼是雪花
法則?

網址:

http://math.rice.e/~lanius/frac/koch/koch.html


從一個三角起,
然後在每條線上放一個三角,
然後在每個六邊形的邊上放一個六
邊形„„真實的雪花就是類似這樣產生的。

這個是開始,然後,按右鍵開始變化„„

最後就像雪花了。嗯,咱回去說吧。

我要說的是,這就是你設計一篇小說的可行方法之一
……

你從比較小,比較簡
單的故事開始

。然後,以此為基礎,填充,搭建。直到你有一個看起來真的像
是一個

故事

的東西了

這個,
其中包括很多個人創造性的東西,
那個是我無法講解的。
但是另外一部分
工作是如何管理,
如何使用,
你的創造性,
如何讓你的創造性做工
……
將你那些
奇思妙想組織整理成一篇架構嚴謹的小說

。這是我這篇中想要教給你的。如果
你是和絕大多數人一樣,
在開始
「寫」
文之前,
你已經在腦子里把你的文想了好
久好久了,
也許你收集了資料,
也許你天天沉思,
這個故事如何發展,
也許你還
用過大腦風暴法,去探索新的創意

,你甚至已經可以開始聽到不同的角色說話
的聲音


他們的語氣,
他們的口音


這些,
你所想的,
是你這本書是關於什麼„„

學名,

the

Deep

Theme

,深層主題

這是對每一本書都非常重要的部分,這些,我成為「編織」,這是一個不正規的
比較隨便的過程

,每個作者走這一步的時候,法子都不太一樣,但是沒有人能
不做,下面呢,我就假設,這步「編織」的工作,你已經做過了,就是你知道怎
么將一個想法變成一個故事的樣子,
而且你的腦子里已經有了這樣一個故事,

現在已經准備好要坐下來,開始將它變成文字了。

第二章:小說設計的十個步驟

首先,在你坐下來打字之前,你必須先組織整理!

你必須將你沉思的默想的那些精彩的點子,
全都寫下來,
寫在紙上,
寫在電腦上,
隨你,但是要把它們整理成一個方便你自己使用的格式

,為什麼?因為記性是
靠不住的。而且你的「創造性思維」,是發散的,你那樣不正規地創造出來的東
西,
肯定是在你的故事裡留下了無數的洞洞——這些洞洞你要先填上,
才能真的
開始寫你的小說。換句話說,你需要一個「設計文件」。

(嗯,這個設計文件啊,我想想,那個,在軟體工程里,就是,有顧客來說,要
你幫著做一個軟體,比如,他說,他要一個賣蛋糕的網站,然後,在開始寫程序
之前,
開發者就要和顧客一起坐下來,
首先將他的要求細化,
有很多東西,
顧客
是不會想到的,
比如,
網站的顏色?什麼字體?各式蛋糕,
一個頁面顯示幾個?
然後需不需要帶網上訂購,
如果需要,
每次訂購要不要留底,
要不要限量„„所
有的細節都要先弄清楚了,
程序員才好去把它做出來,
否則的話你就會面臨返工
返工返工„„很多你自以為不是問題的都會成為問題,
這個作者說的,
「設計文
件」
的藝術,
意思就是最後那個東東,
詳細地說明了所有要求,
沒有遺漏,
然後,
寫呢,就是把你設計的東西弄出來,就如同編程。)

換句話說,你需要一個「設計文件」,而且,你需要用一種不會把你自己的寫作
熱情給澆滅了的法子,來把這個文件弄出來

。下面我說的這十個步驟,就是我
自己寫這種「設計文件」的法子。

第一步:用一個小時,寫一句話,來總結你的小說。例如可以是:
「一個流氓無
賴的物理學家,
穿越回到過去,
去要殺死耶穌使徒保羅。
這句話必須是永久性的
你自己的10秒鍾廣告工具詞如果給你10秒鍾,
讓你向讀者推銷你的書,
你說
什麼?就是那句話。
那句話,
寫文前,
就先花一個小時給想明白了。
這是大背景,
大設定,
是那個雪花模擬體,
最初的那個三角。
當你隨後,
寫你的文的正規簡介
的時候,
這句話十有八九是會出現在你簡介很靠前的部分。
這是你用來向你的編
輯,你的讀者,你的代理人„„等等等等,去推銷你的書時的懸念,和萌點,這
是個勾人的點,所以,能寫多好寫多好!不許偷懶!

幾條小竅門:

第一,

越短越好。少於15個字最好。唔,這個,因為中文英文的不同,大
概需要被改成:少於30個字最好。

(話說我學著寫了一個,
一個經歷了患難的摯友們,
如何在彼此出身和立場的沖
突中求得解脫的故事。一句話,
30
個字以下,說明一本書的「主題」,這個就
是書的中心思想„„)

第二,不要人物名!求你了„„說」一個身有殘疾的雜技演員「比說「Jane

Doe"之類大家根本不知道是誰的名字,要好得多。

第三,
將大背景和人物所處的小背景聯系在一起,
哪一個人物,
在故事中,
可能
會失去最多?

現在告訴我他或者她想要得到的又是什麼?

第四,
多讀讀比如紐約時報最佳書單之類的,
去看看人家的這種一句話廣告詞是
怎麼寫的,然後,學。這一句話的描述,是一種藝術。

第二步

:再用一個小時,將你寫好的那一句話,擴展成為一段。這一段里,要
描述出故事的起始背景

。故事中會出現的主要災禍,然後還有故事的結局

,這
相當於雪片模擬的第二步

。我個人呢,喜歡將一個故事的架構設置為,三個災

+
一個結尾,
每一個災難,
用書的四分之一


然後結尾用去最後四分之一



也不知道這種架構是不是最好,它只是最合適我自己而言

,而已。如果你接受
小說的

三部戲

架構

,(不懂的去翻群共享,講過),那麼,第一個災難對應

Act 1
的末尾,
第二個災難對應於
Act 2
的中點,
而第三個災難是
Act2
的終點,
同時引發
Act 3
,來將故事收攏,這里,我想強調的是,第一個災難,可以是由
外部因素引發

,這不要緊,但是,我認為,第二個,還有第三個災難,應該是
由主角的行為引發的,
具體說,
後續的災難,
應該是由主角試圖解決第一個災難
而引起的後果„„事情被越弄越糟糕„„的過程,
從第一步的那一句話,
而發展
來的這一段,
是可以用來作為你的書的宣傳,
這段話是可以用來給編輯、
書商去
推銷你的書的,
最佳情況下,
你的這一段話,
應該包括
5
個句子,
第一句是故事
的背景,
起始,
接著三句話,
每一句對應一個災難,
然後再來一句講這個故事的
結尾。
如果你覺得這個格式很可疑地類似實體書的封底簡介,
因為它的確會在某
一天成為實體書的封底簡介

(話說我家有
100
多本這種實體,回頭我可以翻譯
幾個這種簡介„„



(這個和網文的簡介還是不太一樣的,這個是賣實體用的。

話說,我來試試看把我剛才那一句話改成一段

嘿嘿

現場作業„„

一場突如齊來的天災,將幾個彼此並不友好的年輕人困在了魔法失效的叢林。

於是這個是第一句,背景

古老的魔法門,
兇猛的魔獸,
讓他們學會彼此依靠。
隱匿在森林之中的流亡種族,
死靈和鮫人的秘密,卻將他們各自隱藏的秘密揭開。這個算是第一個災難?

他們尋找可以回到家鄉的路途,
卻在家鄉伸手可及之時,
彼此拔刀相向。
這算是
第二個災難?

殺戮,死亡,心靈和身體的重創,卻發現,換來的不過是一個笑話。這是第三個
災難。

然後,就可以結尾鳥。

⑼ 怎樣用FLASH軟體畫出雪花

以隨便先畫一個左右動的圓(作為雪花影片剪輯)試一下,在主場景中放兩個圖層,一個放雪花動畫佔三貞,另一層分三貞分別編程序:

用直線工具畫一細線,用變形工具使其傾斜

2、將該影片拖放到場景中,實例名稱取為rain

3、插入一層,在第一關鍵針上寫入一下代碼

i=random(100);//產生隨機數
plicateMovieClip("rain","rain"+i,i);//復制影片
setProperty("rain"+i,_x,random(550));//攝制影片屬性
setProperty("rain"+i,_y,random(400));

4、在第二關鍵針上寫入一下代碼

gotoAndPlay(1);

5、將第一層第二針插入普通針。

熱點內容
java隨機整數生成 發布:2025-04-07 00:37:40 瀏覽:744
手機為什麼更改不了id密碼 發布:2025-04-07 00:37:40 瀏覽:634
androidpaint字體 發布:2025-04-07 00:33:58 瀏覽:104
安卓手機如何改為普通版 發布:2025-04-07 00:31:21 瀏覽:217
javaif判斷字母 發布:2025-04-07 00:31:19 瀏覽:237
忘記密碼了如何解開應用鎖 發布:2025-04-07 00:13:37 瀏覽:535
抽獎樂源碼 發布:2025-04-07 00:01:21 瀏覽:500
cobar源碼 發布:2025-04-06 23:44:59 瀏覽:261
ftp內網穿透 發布:2025-04-06 23:42:48 瀏覽:270
java封裝方法 發布:2025-04-06 23:37:41 瀏覽:544