鱗目界域-龍論壇

游態龍的錫安山。龍的力量、智慧、野性、與優雅

您尚未登录。 (登录 | 注册)

公告

mb 爪機版     |    論壇指南     |    Discord     |    QQ群

《龙魂志》第一期
《龙魂志》第二期

Tips:天鳞鳞,地鳞鳞

#26 龍到底是不是furry » 2026-05-06 21:25:42

回应:

[嗝屁]  只有 Anthro 類型的龍是 furry,純龍(純獸)在早期的圖庫被定義爲不是 furry。

雖然認爲不是 furry 的比例挺高,但是...... 想要從畫家那裏買到龍設定還是龍圖,還是會碰上 furry 畫家的吧。。。
這個算是哪一種交易呢?就好像龍帶着金幣跟另外一個物種購買畫像服務吧。 

話說我的網絡總認爲被動了什麼手腳,時常瀏覽時推送給我只畫了一條龍,但是其它都是人類甚至是 R18的人類畫家。
當然了,只畫了一條龍不能證明自己對龍的喜愛,那就封鎖再說[大笑]

#27 龍到底是不是furry » 2026-05-06 10:44:06

回应:

[↑] @⇃☽R4G0Ⅳ 寫道: 最近又遇到了這樣的問題,所以有感而發在此留貼。這個問題的提出本身就可能存在語境的區別。實際上在這個問題提出時,已經預設了一些前提。在不同的環境中,可以大概理解爲:1.若在furry圈內部提出。龍是否是 …

龍就是Funny但也分爲幻想龍類和傳統龍的形象

#28 龍到底是不是furry » 2026-05-05 21:29:53

回应:

最近又遇到了這樣的問題,所以有感而發在此留貼。
這個問題的提出本身就可能存在語境的區別。實際上在這個問題提出時,已經預設了一些前提。在不同的環境中,可以大概理解爲:
1.若在furry圈內部提出。龍是否是furry的創作對象?
2.若在furry圈外部話題提出。龍是否符合furry的定義?
3.在龍羣中提出。龍文化是否屬於furry的文化範疇?
很顯然龍是furry的創作內容之一。如果你在一個福瑞的社區下,對着某個對龍討論的福瑞說,這不是furry!顯然這是不合適的。那麼接下來兩個問題,龍符合furry的客觀定義嗎?
furry這一概念的核心問題是沒有人擁有足夠的能力,作出權威的概念規範,在不同人的理解中會產生含義的輕微偏差,導致對這個含義的討論會產生誤解。furry詞義的偏差發生在幾個關鍵點。
1.擬人化的含義實際上並不是很絕對,不同的人有產生不同理解的可能性。
2.furry具有望文生義的問題。引申義本身具有模糊性。
3.furry不止是定義,它也與一個亞文化有聯繫,提及時繞不開這一亞文化。
如果要進行討論,必須要進行以下預設:furry可以作爲一個普適的客觀定義。這裏先不對這個預設本身正確與否討論。
什麼是擬人化:將人類的情感、動機、意圖、思維或行爲等特徵,賦予非人類實體(如動物、植物、無生命物體、自然現象、抽象概念或人工智能等)的一種認知或表達方式。若龍是本身具有一定智慧的生物,其的智慧可以說是一種擬人化嗎?如果要使得這一條件成立,必須要說人之外的生物具有智慧是一種擬人化。此處對擬人化這一概念作出了補充解釋。問題是,如果需要對擬人化的概念作二次解釋,那麼在此處對龍的定義已經產生了潛在的爭議點。另外,在一些作品中,龍的情感,冬季,意圖與人具有相似性,例如斯派羅系列,事實上確實符合furry的定義。對於一些沒有智慧的龍,沒有任何的爭議可能性。龍的種類繁多,若要引入討論本身就需要細分,從這裏可以得出,以整個龍的概念而言,完全不符合furry的定義。若要使其符合,需要拆分。
第二點,furry作爲引申義,需要大衆建立一致的共識才能成爲可靠的客觀概念。第三點,提到這個詞語難以與其背後的文化分割,難以單純獨立存在作爲客觀概念進行解釋。所以對於furry能否作爲一個合格的概念,我是存疑的。
對於龍文化是否屬於furry文化這一點,龍是自古以來長存的圖騰符號,而furry是近代亞文化,從歷史來看,認爲龍文化屬於furry未免有些荒謬。那麼限定一下範圍,亞文化的龍文化是否屬於furry文化。似乎都同樣存在oc的扮演,有着相似的創作方式。但是,龍的亞文化有以下明顯的區分點。龍的許多傳統愛好者很注重真實感,並會爲龍作出一些科學的解釋。許多龍偏好寫實的畫風,更傾向於對現實的直觀再現,而furry相當一部分喜好卡通,二次元的畫風。龍的很多愛好者會對龍的文化進行一定程度的瞭解,此在furry當中佔比也比較稀少(並不會對相關獸人文化進行了解)。此有一重點,furry娛樂化程度顯然高於龍圈,在對文化的求索上平均意願更低,這裏也有furry的概念缺乏歷史沉澱的問題。綜合上面幾點,龍愛好者與furry有一定的區別,龍的愛好者似乎比furry更加熱誠狂熱。
最後,我是不認可其他人對於自己這樣歸類的。我認爲擬人化是一個糟糕的詞語,被人稱呼“擬人”,我的第一感受是被侮辱,被侵犯。因爲好像在說你某種方面不如人類。我主觀情感上就不喜歡這個概念,且我的推論也告訴我龍不是furry。


有 4 位朋友喜欢这篇文章:shiningdracon, 镜中龙影, MorksAllen, 龍爪翻書

#29 虐龍癖應當被制止嗎? » 2026-05-05 18:42:40

回应:

感覺有點何意味了。在幻想中虐待虛構的生物真的能被稱爲虐待動物嗎?依我看,幻想【實際不可能做到的暴力行爲】(包括但不限於暴力對象不真實存在、暴力過程無法被完成)和真正的積極主動虐待動物幾乎沒有關聯,就像興致勃勃地觀看guro本子的個體和真正的命案兇手之間也隔着鴻溝一樣。
根據你的描述和我對同類型圈子的理解,這可能只是個體xp之類的,僅此而已。有這種特殊癖好的雖是少數,但能聚成圈子也不足爲奇。
至少我認爲這類愛好其它個體無權干涉。


有 1 位朋友喜欢这篇文章:Plazehorta

#30 虐龍癖應當被制止嗎? » 2026-05-05 06:25:59

回应:

這個帖子有點意義不明。除了開頭虛構了一個場景之外就與龍再無關係了。如果你是想討論動物保護相關話題的話,其實不必硬和龍套關係?畢竟這個板塊沒限制主題必須和龍有關。

@Sherixs 寫道: 因爲我自己平時不研究心理,所以讓AI跑了分析

雖然你做了這個免責聲明,我還是需要問一下,你有仔細看過AI給你的東西沒有(畢竟是直接複製粘貼過來的,連格式都沒改,看不出來有沒有仔細閱讀過)?AI給出的文字你認同哪部分?不認同哪部分?理由是什麼?有沒有自己的具體看法?動物保護是一個在社會上已經有過很廣泛討論的議題,在此之前你有閱讀過各方的觀點嗎?

如果你能指出具體想了解的觀點,我可以給你推薦閱讀材料。


有 2 位朋友喜欢这篇文章:镜中龙影, 安德Endur~

#31 虐龍癖應當被制止嗎? » 2026-05-05 05:39:15

回应:

@Sherixs 寫道: 形成相應的圈子

如果是私下進行的行爲 影響力可能不會很大,但是形成社交圈子的現象感覺就很危險了

#32 虐龍癖應當被制止嗎? » 2026-05-05 05:36:42

回应:

依照我個人的看法,自動歸入虐待動物的議題。(因爲包含相似的血腥暴力內容)
談到這個真不知道該說些什麼好,小時候身邊也從來沒出現過這種事。龍居然也能成爲人的虐待對象也是出乎我的意料。現在網絡發達了之後發現數量真的不少,甚至會形成相應的圈子,讓我深感擔憂。

因爲我自己平時不研究心理,所以讓AI跑了分析

# 虐待動物的成因與影響
虐待動物行爲,既包括主動對動物施加軀體痛苦、心理折磨的**積極虐待**,也包括長期剝奪動物生存需求、忽視其基本福利的**消極虐待**。該行爲並非孤立的“個人行爲”,而是個體心理、成長環境、社會文化、神經生物等多維度因素共同作用的結果;其危害也不僅侷限於動物本身,更會形成從個體到家庭、公共安全、社會文明的全鏈條傳導效應,是全球公認的暴力犯罪預警信號與社會治理難題。

## 一、虐待動物的核心成因
### (一)個體心理與人格特質:核心驅動因素
1.  **共情能力缺陷與情感麻木**:這是施虐行爲最核心的心理基礎。神經影像學研究顯示,施虐者觀看動物受苦時,負責共情與情緒感知的前島葉、鏡像神經元系統激活程度顯著弱於常人,無法感知動物的痛苦,甚至將動物徹底“物化”,視其爲無情感的發泄工具,而非具備感知能力的生命個體。
2.  **替代性攻擊與情緒調節障礙**:即經典的“踢貓效應”。當個體遭遇職場挫折、人際衝突、生活重壓等負面事件,卻無力向強勢方反擊時,會將暴力宣泄給毫無反抗能力的動物,以此釋放積壓的憤怒與挫敗感,這是臨時起意型虐待最常見的誘因。
3.  **權力與控制慾的病態代償**:現實中處於弱勢、缺乏掌控感的個體,通過虐待動物獲得絕對的支配權與虛假的權威感。這種“欺軟怕硬”的補償心理,本質是對自身無力感的扭曲宣泄,也是家暴場景中施虐者虐待寵物的核心動機——通過傷害伴侶在意的動物,實現對受害者的精神控制與恐嚇。
4.  **人格障礙與反社會特質**:虐待動物是反社會人格障礙、兒童青少年品行障礙的核心診斷指標之一。美國心理學會(APA)追蹤研究顯示,70%的暴力犯罪者、80%的家暴施暴者,童年期有明確的虐待動物記錄;這類人羣普遍漠視規則、缺乏愧疚感,會從施虐過程中獲得病態快感,甚至形成暴力成癮,不斷升級虐待強度以滿足大腦多巴胺獎賞系統的需求。
5.  **其他心理誘因**:包括青少年的病態好奇與尋求刺激、通過拍攝傳播虐待視頻牟利或博取關注、認知扭曲(如將動物視爲“低等生命”,合理化自身施虐行爲)等。

> 注:消極虐待(長期不給喫喝、不提供醫療、惡劣圈養等)的成因與積極虐待有顯著區別,更多源於養寵人責任意識缺失、動物福利認知不足、經濟能力受限、懶惰與不負責任,而非主觀的惡意傷害。

### (二)家庭與成長環境:暴力代際傳遞的根源
1.  **童年期創傷與暴力習得**:這是虐待動物行爲最關鍵的早期預測因素。多項跨國研究證實,童年期遭受身體/情感虐待、性侵害、長期忽視,或長期目睹家庭暴力的個體,虐待動物的概率是普通人羣的3倍以上。他們在成長過程中習得了“暴力是解決問題、獲得權力的有效方式”,並將自身承受的痛苦向下傳導給更弱小的動物,形成暴力的代際循環。
2.  **不良家庭示範與教養缺失**:父母或家庭成員本身存在虐待動物行爲,或默許、鼓勵孩子傷害動物,會直接扭曲兒童的生命觀與價值觀;而溺愛放任、極端嚴苛等不當教養方式,也會導致孩子情緒調節能力、共情能力發展受阻,大幅提升施虐風險。
3.  **親子依戀缺陷**:不安全的依戀關係、長期的親情缺失,會導致個體無法建立健康的情感聯結,難以對其他生命產生共情,更容易對弱小生命產生敵意與攻擊欲。

### (三)社會文化與制度環境:行爲的催化與縱容
1.  **動物工具化的認知偏差**:部分社會文化中長期存在“動物只是人類附屬品/生產工具”的觀念,漠視動物的感知能力與生命價值,爲虐待行爲提供了認知層面的合理化土壤。
2.  **網絡亞文化與不良示範**:互聯網上傳播的虐待動物視頻、血腥暴力內容,會形成嚴重的脫敏效應,尤其對心智未成熟的青少年產生極強的不良誘導;部分小衆圈層甚至形成虐待動物的黑色產業鏈,通過販賣施虐視頻牟利,進一步助長了此類行爲。
3.  **法律與監管的缺位**:對虐待動物行爲的懲戒力度不足、違法成本過低,會直接縱容施虐行爲。目前我國尚未出臺統一的《反虐待動物法》,除虐待他人飼養的動物可構成故意毀壞財物罪、傳播虐待視頻可觸犯尋釁滋事等罪名外,多數虐待流浪動物的行爲難以得到有效懲戒,無法形成法律震懾。
4.  **社會支持系統的缺失**:處於社會孤立、邊緣化、長期失業等困境的個體,缺乏有效的社會支持與情緒疏導渠道,更容易陷入負面情緒,選擇通過虐待動物宣泄壓力。

### (四)神經生物與生理因素:潛在的生理基礎
1.  **大腦結構與功能異常**:負責衝動控制、道德決策、共情能力的前額葉皮層功能低下,會導致個體衝動控制能力不足、攻擊性閾值下降,更易出現無預謀的衝動型虐待行爲。
2.  **神經遞質與激素失衡**:血清素(5-羥色胺)水平降低,與衝動控制障礙、攻擊行爲高度相關;睾酮水平過高、皮質醇調節異常,也會提升個體的攻擊性與暴力傾向。
3.  **遺傳與先天特質**:部分基因多態性與反社會特質、攻擊行爲相關,但遺傳因素僅爲風險因素,需與後天環境交互作用纔會觸發施虐行爲。

## 二、虐待動物的多維度影響
### (一)對動物本身的直接與不可逆傷害
1.  **軀體層面的永久損傷**:輕則造成骨折、外傷、感染、器官損傷,重則直接導致殘疾、器官衰竭、死亡;長期的消極虐待會導致動物營養不良、慢性疾病、免疫力低下,終身承受難以緩解的慢性疼痛。
2.  **心理層面的深度創傷**:動物具備清晰的痛苦與恐懼感知能力,長期虐待會導致動物出現嚴重的創傷後應激障礙(PTSD)、重度焦慮、抑鬱、刻板行爲、自殘行爲,對人類徹底喪失信任,攻擊性異常增強。即便後續被救助,多數動物也難以適應正常的家庭生活,終身無法擺脫心理陰影。

### (二)對施害者自身的行爲反噬與人生風險
1.  **暴力行爲的漸進式升級**:虐待動物被犯罪學界公認爲“暴力犯罪的預演”。英國皇家防止虐待動物協會(RSPCA)聯合警方調查發現,虐待動物者實施人身傷害的概率是普通人羣的5倍,實施性侵、財產犯罪的概率是常人的3倍;美國FBI自2016年起,已將虐待動物行爲納入全國犯罪信息中心,與兇殺、性侵等暴力犯罪同等記錄。施虐者會在反覆的施虐過程中不斷提高暴力閾值,從虐待動物逐步升級爲針對老弱、婦女、兒童等弱勢人羣的暴力犯罪。
2.  **心理與行爲的持續惡化**:長期施虐會進一步加劇共情缺失、情感麻木,誘發或加重反社會人格障礙、酒精與藥物濫用等成癮行爲,導致社會功能持續受損,陷入“暴力-孤立-更極端暴力”的惡性循環。
3.  **法律與社會聲譽的毀滅性打擊**:即便在現有法律框架下,虐待他人飼養的動物可構成故意毀壞財物罪,最高可處3年以下有期徒刑;拍攝、傳播虐待動物血腥視頻,可觸犯尋釁滋事罪、傳播淫穢暴力信息相關法規,面臨行政拘留與刑事追責。行爲曝光後,施害者會面臨全社會的道德譴責,喪失工作、社交資源,陷入社會性死亡。

### (三)對家庭與人際環境的破壞性影響
1.  **家庭暴力的核心預警與放大器**:虐待動物與家庭暴力存在高度綁定的“聯動效應”。多項研究顯示,70%以上的家暴家庭中,施害者會同時虐待伴侶動物,以此威脅、恐嚇受害者,阻止其離開施暴環境;超75%的家暴受害女性表示,因擔心寵物被報復傷害,而推遲逃離施暴家庭,形成“控制-虐待-不敢逃離”的惡性循環。同時,88%的存在兒童虐待的家庭中,同時存在動物虐待行爲,動物虐待是家庭內部多重暴力的重要預警信號。
2.  **對未成年人的不可逆傷害**:兒童目睹虐待動物行爲,一方面會產生嚴重的心理創傷,出現焦慮、恐懼、安全感缺失等問題;另一方面會扭曲其價值觀,阻礙共情能力的正常發展,大幅提升其未來出現暴力行爲的概率,完成暴力的代際傳遞。

### (四)對公共安全與公共衛生的潛在威脅
1.  **社會治安風險提升**:虐待動物者普遍存在更高的暴力犯罪傾向,是社區安全的重大隱患;虐待動物事件曝光後,還極易引發網絡對立、人肉搜索、線下衝突等次生社會矛盾,加劇社會治理成本。
2.  **公共衛生風險加劇**:被虐待的動物往往處於傷病、高度應激狀態,狂犬病、弓形蟲病、布魯氏菌病等人畜共患病的傳播風險大幅提升;受虐動物的攻擊性異常增強,極易出現傷人事件;虐殺動物後的屍體隨意丟棄,還會造成環境污染、疫病傳播,直接威脅公共衛生安全。

### (五)對社會文明與公序良俗的長期侵蝕
1.  **社會道德底線的滑坡**:一個社會對弱小生命的態度,是其文明程度的核心標誌。縱容虐待動物行爲,會持續弱化社會的共情文化,降低公衆的道德底線,消解對生命的敬畏之心,與文明社會的發展方向背道而馳。
2.  **對社會價值觀的負面傳導**:虐待動物行爲的泛濫與傳播,會直接扭曲青少年羣體的生命觀與價值觀,讓其形成“生命可以隨意踐踏、暴力可以解決問題”的錯誤認知,嚴重影響未成年人的健康成長,損害社會的長遠發展根基。

## 補充說明
1963年提出的**麥克唐納三聯徵**(童年期虐待動物、縱火、5歲後持續尿牀),曾被視爲成年後暴力傾向的預測指標,但其結論源於小樣本臨牀觀察,後續大規模研究並未完全驗證其預測效力,目前學術界普遍認爲,虐待動物並非必然導向連環暴力犯罪,但它是反社會行爲與暴力風險的核心預警信號,需及時干預與矯治。

最后修改: Sherixs (2026-05-05 05:46:47)

#33 黑龍謝里斯的胡思亂想 » 2026-05-04 00:16:34

回应:

@Sherixs 寫道: 龍這個種族

我想避免將龍的個體數量設置得太高:根據我的經驗,龍數量的增加未必能顯著提升作品和故事的史詩感;同時,我可不想看到滿屏紛飛的翅膀,觀感一點都不好。 [汗] 魔獸世界巨龍時代的開場cg就是經典反例——低質量的模型複製黏貼,笑死,真是和這遊戲本體的德行一模一樣。
我覺得能接受一條龍同時對付多個對手。
大部分的龍外觀只需簡單耐看就好,因爲是魔法世界所以不需要考慮結構是否科學(噴火之類的種族天賦都能輕鬆實現),目前遇到困難的地方是龍形態如何區分男女、如何區分血緣近遠,以及不同種的龍如何設計才能看起來會出現在同一個世界裏。目前我的能力有限,構思一整套龍族設計語言還需要好久。
講述龍與人的故事的一個重要跳板可以是“圖騰”,放入備選方案。不確定這設定到近未來的時間線還是否有效。整個世界如何具體演變到近未來還沒有構思好,現在不管怎麼看都有點割裂。 [融化]否則我只能拆成兩個平行世界來寫了……

@Sherixs 寫道: 以小故事的方式

我創作的小故事的立意可能與動畫片的那種不同,因爲我發現無論我看多少遍都沒法模仿——可能是因爲沒看懂,也可能是因爲那些不是我想寫的故事。我也是過來人了,總得開發些更好的。
那麼受衆的話還是跟從前一樣,在校讀書的年輕人。感覺可以繼續禍害人類了 [壞笑]
[正在聽Diablo IV: Lord of Hatred的A Fragile World]

最后修改: Sherixs (2026-05-04 00:25:38)

#34 龍與道德 » 2026-05-03 09:40:51

回应:

人類的道德

  • 人類先感覺,再解釋。

  • 人類以道德語言包裝羣體利益。

  • 人類用多維價值系統劃分敵友。

  • 人類通過共同信念實現合作,也因此產生集體盲目。

(一)直覺先行,推理隨後

  • 人類的道德意識近似“雙層控制”,可以比喻爲:大象——龐大的無意識過程,主導多數行爲;騎象人——可敘述的意識、語言、理由。

  • 人類道德判斷通常先由瞬時反應生成,再由語言系統補寫理由。後續推理多用於防禦既有立場,而非搜尋客觀真值。

  • 觀察人類爭論時,一種有效的方式是追蹤其底層動機、聯盟利益與身份維護,而非只聽表面論證。

  • 說服人類時,單靠邏輯常不足,需要觸及其直覺系統與羣體歸屬感。

(二)道德有多個維度

  • 人類道德感受器更像多味覺系統。常包含:傷害/關懷、公平/欺騙、自由/壓迫、忠誠/背叛、權威/顛覆、聖潔/墮落。

  • 不同文化與意識形態,會組合這些基礎模塊,形成不同的“道德菜譜”。僅強調少數維度的世俗倫理,往往難解釋廣泛人羣的真實反應。

(三)道德能凝聚羣體,也製造盲區

  • 人類兼具兩套進化遺產:90%的類猩性,個體競爭型靈長類傾向;10%的類蜂性,羣體協作型社會性傾向。因此,人類既擅長自利、僞善、自我欺騙,也能表現犧牲、忠誠與奉獻。

  • 在特定條件下,個體可暫時融入集體目標,獲得強烈意義感。同一機制也會造成排外、戰爭、狂熱與屠殺。

  • 利他主義常具有邊界:更偏向“自己人”。

  • 政治陣營本質上是共享道德故事的聯盟。一旦綁定某種敘事,人類會過濾現實,忽略與本陣營衝突的信息。

參考:《正義之心:爲什麼人們總是堅持“我對你錯”》

#35 我的2026春季露營,照片+改圖 » 2026-04-27 18:11:57

回应:

@Celia 寫道: 好奇是怎麼改的圖呀

照片給AI,寫出想要的效果,讓它按要求改

#36 我的2026春季露營,照片+改圖 » 2026-04-27 18:09:10

回应:

補一張天空


有 2 位朋友喜欢这篇文章:箐岚, 龍爪翻書

#37 我的2026春季露營,照片+改圖 » 2026-04-27 17:49:50

回应:

好漂亮的景色 [大笑] 
好奇是怎麼改的圖呀

#38 我的2026春季露營,照片+改圖 » 2026-04-27 14:12:39

回应:

樹屋

篝火

林間


有 5 位朋友喜欢这篇文章:龍爪翻書, MorksAllen, 箐岚, 镜中龙影, 安德Endur~

#39 [翻譯] 龍與地下城: 羣龍議會 非官方第五版手冊 (進度: 27%) » 2026-04-27 00:31:59

回应:

[↑] @ken1882 寫道: 龍族科別、屬類與特性偉大的埃歐在創造龍族時將它們分為三大科別,使之力量與思想平等。五色龍偏好殘暴與威壓,利用它們的力量去獲得地位與物理上地解決部落內的爭端。金屬龍則是完全相反,它們高尚且正義。而水晶龍 …

勘誤:
原文爲"Toughness. You possess additional maximum hit point sequal to your class’s starting hit point value. For example, if your dragon’s first class level is fighter, you begin play with 10 extra hit points."
更有可能的譯法:"擁有等同於職業初始生命值的額外最大生命值。例如一開始是戰士則擁有額外 10 點最大生命值。"

#40 一種不違背科學的龍息方案 » 2026-04-26 20:23:36

回应:

如果不依靠工具,化學點火是爲數不多可行的方式。我能想到比較合理的是磷氫化物;在喉嚨深處多個互不連通的高壓腔室中以液態存儲。這些腔室的容積是很小的。前體物質是含磷的複雜配合物,相對安全,能較快地爲腔室補充。
火焰的威力用於烹飪足夠,但用於狩獵完全不可行。

#41 大家是在怎樣的情況下以怎樣的方式進入這裡的呢? » 2026-04-26 19:08:20

回应:

認識的第一條龍向我推薦了這個地方

#42 Minecraft龍之生存檔記錄 » 2026-04-26 12:24:13

回应:

2026.4.26
爲了做地獄門原本的64倍熔爐組有點不太夠用了

64來自https://www.bilibili.com/video/BV1uE421w7Wo/,裝飾是後來自己做的。參考這款熔爐組我還搓了個38速的裝飾性大於實用性的熔爐組並做了一點改進塞在巨樹基地。
於是專門做了個320熔爐組

320來自https://www.bilibili.com/video/BV1bsegz1EUK/

#43 AI小遊戲樓 » 2026-04-25 17:01:06

回应:

原本想順便養龍蝦,叫龍蝦幫忙發布到GitHub,發現沒想像中好弄   [汗] 

還是先繼續貼純文字過來吧 [酷酷] 

像素風格、橫版通關遊戲






<!DOCTYPE html>
<html lang="zh-Hant">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>像素小龍橫版通關</title>
  <style>
    * { box-sizing: border-box; }
    body {
      margin: 0;
      min-height: 100vh;
      display: grid;
      place-items: center;
      background: #111827;
      color: #e5e7eb;
      font-family: "Noto Sans TC", system-ui, sans-serif;
      user-select: none;
    }
    .wrap {
      width: min(960px, 100vw);
      padding: 12px;
    }
    h1 {
      margin: 0 0 8px;
      font-size: 20px;
      letter-spacing: 2px;
    }
    .hud {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin-bottom: 8px;
      font-size: 14px;
      opacity: 0.95;
    }
    canvas {
      width: 100%;
      aspect-ratio: 16 / 9;
      display: block;
      border: 4px solid #374151;
      border-radius: 10px;
      background: #7dd3fc;
      image-rendering: pixelated;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
    }
    .help {
      margin-top: 8px;
      font-size: 14px;
      line-height: 1.6;
      color: #cbd5e1;
    }
    kbd {
      padding: 2px 6px;
      border-radius: 4px;
      background: #334155;
      color: white;
      border-bottom: 2px solid #0f172a;
    }
  </style>
</head>
<body>
  <div class="wrap">
    <h1>🐉 像素小龍:火焰通關</h1>
    <div class="hud">
      <div id="status">生命:3 分數:0</div>
      <div id="message">飛到右方城堡即可通關!</div>
    </div>
    <canvas id="game" width="640" height="360"></canvas>
    <div class="help">
      操作:<kbd>W</kbd>/<kbd>↑</kbd> 上飛,<kbd>S</kbd>/<kbd>↓</kbd> 下飛,<kbd>A</kbd>/<kbd>←</kbd> 左移,<kbd>D</kbd>/<kbd>→</kbd> 右移,<kbd>空白鍵</kbd> 噴火球,<kbd>R</kbd> 重新開始。
    </div>
  </div>

  <script>
    const canvas = document.getElementById("game");
    const ctx = canvas.getContext("2d");
    const statusEl = document.getElementById("status");
    const messageEl = document.getElementById("message");

    const W = canvas.width;
    const H = canvas.height;
    const WORLD_W = 3600;
    const keys = new Set();

    let cameraX = 0;
    let frame = 0;
    let gameState = "play";

    const dragonStart = { x: 70, y: 160 };
    const dragon = {
      x: dragonStart.x,
      y: dragonStart.y,
      w: 34,
      h: 24,
      vx: 0,
      vy: 0,
      hp: 3,
      inv: 0,
      fireCd: 0,
      score: 0
    };

    let fireballs = [];
    let enemies = [];
    let particles = [];
    let clouds = [];

    function resetGame() {
      cameraX = 0;
      frame = 0;
      gameState = "play";
      Object.assign(dragon, {
        x: dragonStart.x, y: dragonStart.y, vx: 0, vy: 0,
        hp: 3, inv: 0, fireCd: 0, score: 0
      });
      fireballs = [];
      particles = [];
      enemies = [];
      clouds = [];

      for (let i = 0; i < 18; i++) {
        clouds.push({
          x: i * 220 + Math.random() * 90,
          y: 30 + Math.random() * 95,
          s: 1 + Math.random() * 1.4
        });
      }

      for (let i = 0; i < 24; i++) {
        enemies.push({
          x: 380 + i * 130 + Math.random() * 60,
          y: 70 + Math.random() * 190,
          w: 24,
          h: 22,
          baseY: 70 + Math.random() * 190,
          hp: i % 5 === 0 ? 2 : 1,
          type: i % 3,
          alive: true,
          phase: Math.random() * Math.PI * 2
        });
      }
      updateHud();
      messageEl.textContent = "飛到右方城堡即可通關!";
    }

    function updateHud() {
      statusEl.textContent = `生命:${dragon.hp} 分數:${dragon.score}`;
    }

    function rectsHit(a, b) {
      return a.x < b.x + b.w && a.x + a.w > b.x && a.y < b.y + b.h && a.y + a.h > b.y;
    }

    function pixelRect(x, y, w, h, color) {
      ctx.fillStyle = color;
      ctx.fillRect(Math.round(x), Math.round(y), Math.round(w), Math.round(h));
    }

    function drawCloud(c) {
      const x = c.x - cameraX * 0.35;
      const y = c.y;
      pixelRect(x, y + 8 * c.s, 34 * c.s, 10 * c.s, "#f8fafc");
      pixelRect(x + 8 * c.s, y, 18 * c.s, 18 * c.s, "#f8fafc");
      pixelRect(x + 24 * c.s, y + 4 * c.s, 20 * c.s, 14 * c.s, "#e0f2fe");
    }

    function drawBackground() {
      const grad = ctx.createLinearGradient(0, 0, 0, H);
      grad.addColorStop(0, "#38bdf8");
      grad.addColorStop(0.65, "#bae6fd");
      grad.addColorStop(1, "#86efac");
      ctx.fillStyle = grad;
      ctx.fillRect(0, 0, W, H);

      clouds.forEach(drawCloud);

      ctx.fillStyle = "#60a5fa";
      for (let x = -120; x < W + 160; x += 140) {
        const mx = x - (cameraX * 0.15 % 140);
        ctx.beginPath();
        ctx.moveTo(mx, 265);
        ctx.lineTo(mx + 75, 165);
        ctx.lineTo(mx + 160, 265);
        ctx.closePath();
        ctx.fill();
      }

      ctx.fillStyle = "#22c55e";
      ctx.fillRect(0, 314, W, 46);
      ctx.fillStyle = "#15803d";
      for (let x = -20; x < W + 20; x += 18) {
        pixelRect(x - (cameraX % 18), 314, 9, 8, "#16a34a");
      }
    }

    function drawDragon() {
      const x = dragon.x - cameraX;
      const y = dragon.y;
      const blink = dragon.inv > 0 && Math.floor(frame / 5) % 2 === 0;
      if (blink) return;

      const flap = Math.floor(frame / 8) % 2;
      pixelRect(x + 4, y + 9, 24, 12, "#22c55e");
      pixelRect(x + 24, y + 6, 10, 10, "#16a34a");
      pixelRect(x + 31, y + 9, 6, 5, "#15803d");
      pixelRect(x + 27, y + 8, 3, 3, "#f8fafc");
      pixelRect(x + 28, y + 9, 2, 2, "#111827");
      pixelRect(x - 3, y + 13, 10, 6, "#15803d");
      pixelRect(x + 8, y + (flap ? 1 : -5), 14, 8, "#86efac");
      pixelRect(x + 10, y + (flap ? 3 : -3), 10, 4, "#bbf7d0");
      pixelRect(x + 12, y + 21, 4, 5, "#166534");
      pixelRect(x + 22, y + 21, 4, 5, "#166534");
    }

    function drawEnemy(e) {
      const x = e.x - cameraX;
      const y = e.y;
      if (e.type === 0) {
        pixelRect(x + 3, y + 5, 18, 12, "#7c2d12");
        pixelRect(x, y + 8, 6, 6, "#f97316");
        pixelRect(x + 19, y + 8, 6, 6, "#f97316");
        pixelRect(x + 8, y + 2, 8, 4, "#fed7aa");
      } else if (e.type === 1) {
        pixelRect(x + 3, y + 4, 18, 14, "#6d28d9");
        pixelRect(x + 7, y, 4, 5, "#a78bfa");
        pixelRect(x + 15, y, 4, 5, "#a78bfa");
        pixelRect(x + 9, y + 9, 3, 3, "#f8fafc");
      } else {
        pixelRect(x + 4, y + 7, 16, 10, "#0f766e");
        pixelRect(x, y + 4, 7, 5, "#5eead4");
        pixelRect(x + 18, y + 4, 7, 5, "#5eead4");
        pixelRect(x + 9, y + 3, 6, 4, "#ccfbf1");
      }
    }

    function drawCastle() {
      const x = WORLD_W - 180 - cameraX;
      const y = 232;
      pixelRect(x, y, 112, 82, "#64748b");
      pixelRect(x + 12, y - 42, 28, 42, "#475569");
      pixelRect(x + 72, y - 56, 28, 56, "#475569");
      pixelRect(x + 18, y - 58, 16, 16, "#ef4444");
      pixelRect(x + 78, y - 72, 16, 16, "#ef4444");
      pixelRect(x + 45, y + 35, 24, 47, "#1e293b");
      for (let i = 0; i < 5; i++) pixelRect(x + 8 + i * 20, y + 14, 10, 12, "#94a3b8");
      pixelRect(x - 18, y + 70, 148, 12, "#334155");
    }

    function shootFire() {
      if (dragon.fireCd > 0 || gameState !== "play") return;
      fireballs.push({
        x: dragon.x + dragon.w - 2,
        y: dragon.y + 11,
        w: 14,
        h: 8,
        vx: 7.5,
        life: 90
      });
      dragon.fireCd = 14;
      for (let i = 0; i < 5; i++) {
        particles.push({ x: dragon.x + 34, y: dragon.y + 14, vx: Math.random() * 2, vy: Math.random() * 2 - 1, life: 12 });
      }
    }

    function damageDragon() {
      if (dragon.inv > 0 || gameState !== "play") return;
      dragon.hp--;
      dragon.inv = 80;
      updateHud();
      messageEl.textContent = "小龍受傷了!小心敵人。";
      if (dragon.hp <= 0) {
        gameState = "lose";
        messageEl.textContent = "挑戰失敗,按 R 重新開始。";
      }
    }

    function update() {
      frame++;
      if (keys.has("r") || keys.has("R")) resetGame();
      if (gameState !== "play") return;

      let ax = 0, ay = 0;
      if (keys.has("ArrowRight") || keys.has("d") || keys.has("D")) ax += 0.45;
      if (keys.has("ArrowLeft") || keys.has("a") || keys.has("A")) ax -= 0.45;
      if (keys.has("ArrowUp") || keys.has("w") || keys.has("W")) ay -= 0.55;
      if (keys.has("ArrowDown") || keys.has("s") || keys.has("S")) ay += 0.55;
      if (keys.has(" ")) shootFire();

      dragon.vx = (dragon.vx + ax) * 0.86;
      dragon.vy = (dragon.vy + ay + 0.05) * 0.9;
      dragon.x += dragon.vx;
      dragon.y += dragon.vy;
      dragon.x = Math.max(20, Math.min(WORLD_W - 220, dragon.x));
      dragon.y = Math.max(18, Math.min(286, dragon.y));
      dragon.fireCd = Math.max(0, dragon.fireCd - 1);
      dragon.inv = Math.max(0, dragon.inv - 1);

      cameraX = Math.max(0, Math.min(WORLD_W - W, dragon.x - 180));

      fireballs.forEach(f => { f.x += f.vx; f.life--; });
      fireballs = fireballs.filter(f => f.life > 0 && f.x < WORLD_W);

      enemies.forEach(e => {
        if (!e.alive) return;
        e.y = e.baseY + Math.sin(frame * 0.035 + e.phase) * 32;
        e.x -= 0.35 + e.type * 0.05;
        if (e.x < cameraX - 80) e.x += 900;
        if (rectsHit(dragon, e)) damageDragon();
      });

      for (const f of fireballs) {
        for (const e of enemies) {
          if (!e.alive) continue;
          if (rectsHit(f, e)) {
            f.life = 0;
            e.hp--;
            for (let i = 0; i < 10; i++) particles.push({ x: e.x + 12, y: e.y + 11, vx: Math.random() * 4 - 2, vy: Math.random() * 4 - 2, life: 18 });
            if (e.hp <= 0) {
              e.alive = false;
              dragon.score += 100;
              updateHud();
            }
          }
        }
      }
      fireballs = fireballs.filter(f => f.life > 0);

      particles.forEach(p => { p.x += p.vx; p.y += p.vy; p.life--; });
      particles = particles.filter(p => p.life > 0);

      if (dragon.x > WORLD_W - 260) {
        gameState = "win";
        dragon.score += 500;
        updateHud();
        messageEl.textContent = "通關成功!小龍抵達城堡。按 R 再玩一次。";
      }
    }

    function drawFireball(f) {
      const x = f.x - cameraX;
      pixelRect(x, f.y, 14, 8, "#f97316");
      pixelRect(x + 7, f.y + 2, 9, 4, "#fde047");
      pixelRect(x - 5, f.y + 2, 6, 4, "#dc2626");
    }

    function drawOverlay() {
      if (gameState === "play") return;
      ctx.fillStyle = "rgba(15, 23, 42, 0.7)";
      ctx.fillRect(0, 0, W, H);
      ctx.fillStyle = "#fff";
      ctx.font = "24px monospace";
      ctx.textAlign = "center";
      ctx.fillText(gameState === "win" ? "CLEAR! 通關成功" : "GAME OVER", W / 2, H / 2 - 10);
      ctx.font = "14px monospace";
      ctx.fillText("按 R 重新開始", W / 2, H / 2 + 20);
      ctx.textAlign = "left";
    }

    function draw() {
      drawBackground();
      drawCastle();
      enemies.forEach(e => { if (e.alive) drawEnemy(e); });
      fireballs.forEach(drawFireball);
      particles.forEach(p => pixelRect(p.x - cameraX, p.y, 3, 3, p.life % 2 ? "#f97316" : "#fde047"));
      drawDragon();

      const progress = dragon.x / (WORLD_W - 260);
      pixelRect(16, 16, 160, 8, "#1e293b");
      pixelRect(18, 18, Math.max(0, Math.min(156, 156 * progress)), 4, "#facc15");
      drawOverlay();
    }

    function loop() {
      update();
      draw();
      requestAnimationFrame(loop);
    }

    window.addEventListener("keydown", e => {
      if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", " "].includes(e.key)) e.preventDefault();
      keys.add(e.key);
    });
    window.addEventListener("keyup", e => keys.delete(e.key));

    resetGame();
    loop();
  </script>
</body>
</html>


#44 龍與道德 » 2026-04-24 19:10:33

回应:

一些作品中的例子

@shiningdracon 寫道: 對幼體而言,成體或許對其試探性越界與能力挑戰表現出有限容忍(類似於對“練習性侵犯”的寬容),以降低過早致傷的風險,並促進獨立生存能力的形成。



@shiningdracon 寫道: 對成體之間的相遇,則更可能通過儀式化展示來劃定邊界,並在邊界明確後優先回避直接搏鬥。

#45 小白初入 » 2026-04-23 16:17:45

回应:

買設定只是其中一條路,
但如果要買的話,不妨在 FA 試試看 adopt 之類的關鍵字找找看有沒有心儀的設計,雖然我比較難想像在這種環境下找到跟自己有共鳴或連結的設定

#46 小白初入 » 2026-04-22 19:56:30

回应:

我自己這麼多年,都沒弄完整的龍設

我覺得慢慢構思、逐步完善,這個尋找和創造的過程,也是自己的一部分~

#49 小白初入 » 2026-04-22 00:37:43

回应:

[疑問] 感覺你可能找錯地方了……如果你單純只是需要一個用於社交的設定圖,完全可以在更大的公共平臺上尋找心儀的畫師或設定,甚至可以嘗試在約稿平臺上定製,這並不算太難。

#50 小白初入 » 2026-04-20 14:18:11

回应:

在隔壁furagon問的那位也是你吧?
我覺得首先龍設不是在龍圈中交友、發表言論的必需,其次我也不建議買賣龍設,這是對創作的角色或自己的不尊重。
如果是實在需要你可以用ai生成設定文字和圖片。

论坛页尾

Powered by jQuery blueimp FluxBB